【问题标题】:Variable Scope of function inside function jquery函数jquery内函数的变量范围
【发布时间】:2017-01-26 01:53:02
【问题描述】:

我有这个 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);
    });
 }
});

【问题讨论】:

  • “似乎不起作用”是什么意思?是否有错误,或者它有什么作用?

标签: javascript jquery


【解决方案1】:

我曾经有同样的问题,我添加了点击事件,但它不起作用。如果您要动态添加redColorBtn,这可能是您的问题。你可以试试redColorButton.bind('click', function(){});我不知道为什么但它对我有用。

希望它有效。

【讨论】:

    猜你喜欢
    • 2012-10-04
    • 2012-06-06
    • 2016-10-26
    • 2011-10-27
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多