为什么这个功能没有开火?

时间:2016-08-10 07:16:33

标签: javascript

我正在使用bing translate api,我有以下代码

function translateali(){
  document.onreadystatechange = function () {
      if (document.readyState == 'complete') {
          Microsoft.Translator.Widget.Translate('en', 'zh-cn', onProgress, onError, onComplete, onRestoreOriginal, 2000);
      }
  }
  function onProgress(value) {}
  function onError(error) {}
  function onComplete() {}
  function onRestoreOriginal() {}
}
translateali()

我正在尝试将函数绑定到onclick事件,这就是为什么我将它包装在一个函数中但它在click上没有做任何事情。但是,如果我删除下面的函数换行,它将适用于页面加载

  document.onreadystatechange = function () {
      if (document.readyState == 'complete') {
          Microsoft.Translator.Widget.Translate('en', 'zh-cn', onProgress, onError, onComplete, onRestoreOriginal, 2000);
      }
  }
  function onProgress(value) {}
  function onError(error) {}
  function onComplete() {}
  function onRestoreOriginal() {}
}

1 个答案:

答案 0 :(得分:4)

您正在添加侦听器,而不是函数。

执行以下操作:

function translateali() {
  if (document.readyState == 'complete') {
      Microsoft.Translator.Widget.Translate('en', 'zh-cn', onProgress, onError, onComplete, onRestoreOriginal, 2000);
  }
}

所以你的按钮看起来像这样:

<button onclick="translateali()">Translate</button>