2017-01-26 3 views
0

У меня есть функция jquery, но команда exec для redColorBtn не работает. Если я переведу определение 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(){}); Я не знаю, почему это, но это сработало для меня.

Надеюсь, что он работает.