2017-01-26 8 views
0

このjquery関数は拡張されていますが、redColorBtnのexecコマンドは機能していないようです。 var iframeDocument定義をredColorBtn関数の内部に移動すると、それは機能します。しかし、なぜこのようなことが起こるのか、私の頭を覆すことはできません。私はそれが可変範囲のためだと思ったが、iframe定義はredColorBtnのクリック機能の外で動作していないはずです。誰か知っていますか?変数関数内の関数の範囲jquery

$.extend({ 
handleToolbarEvents: function(iframeDocumentId) { 
    var iframe   = document.getElementById(iframeDocumentId); 
    var iframeDocument = iframe.contentWindow.document; 
    var redColorBtn  = document.getElementById('rte-redColorBtn-' + iframeDocumentId); 

    $(redColorBtn).click(function() { 
     var command = $(this).val();//foreColor 
     iframeDocument.execCommand(command, false, "red"); 
    }); 

    $('.rte-button').click(function() { 
     var command  = $(this).val(); 
     var iframeID  = $(this).closest('iframe[class="rte-iframe"]'); 
     var iframeDocument = iframe.contentWindow.document; 
     iframeDocument.execCommand(command, null, null); 
    }); 
} 
}); 
+0

「うまくいかない」とはどういう意味ですか?エラーがありますか、それとも何ですか? – 4castle

答えて

0

私はclickイベントを追加するのと同じ問題を抱えていますが、動作しません。それはあなたが動的にそれがあなたの問題かもしれないredColorBtnを追加しているかどうかについてです。あなたは試すことができますredColorButton.bind('click', function(){});私はなぜそれが私のために働いたのかわかりません。

希望します。