2016-08-10 7 views
2

私は機能でそれを包んだ理由ですが、それはクリックで何かをdoesntののonclickイベントに関数をバインドしようとしています、私はビングで働いている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() 

を持っています。しかし、以下のような関数のラップを削除すると、ページの読み込みにも役立ちます。

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() {} 
} 
+0

あなたの機能がここに –

+0

空になっているあなたのようにあなたの関数を定義したいことがあります。 'translateali =関数() {...} '。 – FDavidov

+0

jQueryでこの質問のタグを付けましたが、使用していません。 jQueryにはドキュメントのためのショートカットが用意されています。 –

答えて

4

リスナーを追加するのではなく、関数を追加しています。

次の操作を行います

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

だからあなたのボタンは次のようになります。

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

これは私がダミーです – NooBskie

関連する問題