我有这个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);
});
}
});
答案 0 :(得分:0)
我曾经遇到过同样的问题,我添加了点击事件,但它不起作用。如果你动态地添加redColorBtn
它可能是你的问题。你可以尝试redColorButton.bind('click', function(){});
我不知道为什么,但它对我有用。
希望它有效。