Javascript 函数jquery中函数的变量范围

Javascript 函数jquery中函数的变量范围,javascript,jquery,Javascript,Jquery,我扩展了这个jquery函数,但是redColorBtn的exec命令似乎不起作用。如果我将var iframeDocument定义移动到redColorBtn函数内部,那么它就可以工作。但是,我无法理解为什么会发生这种情况。我认为这是因为变量的作用域,但是iframe定义也不应该在redColorBtn click函数之外工作。有人知道吗 $.extend({ handleToolbarEvents: function(iframeDocumentId) { var iframe

我扩展了这个jquery函数,但是redColorBtn的exec命令似乎不起作用。如果我将var iframeDocument定义移动到redColorBtn函数内部,那么它就可以工作。但是,我无法理解为什么会发生这种情况。我认为这是因为变量的作用域,但是iframe定义也不应该在redColorBtn click函数之外工作。有人知道吗

$.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);
    });
 }
});

我曾经遇到过一个与添加单击事件相同的问题,但它不起作用。它可能是关于如果您正在动态添加
redColorBtn
,这可能是您的问题。您可以尝试
redColorButton.bind('click',function(){})
希望它能起作用

你说的“似乎不起作用”是什么意思?是否存在错误,或者它会做什么?