使用此代码,我已经使用 help/example/01.basic.html 和 02.full.html 对其进行了测试,我想它也可以与其他代码一起使用:
$(document).ready(function(){
var current = $("#wysiwyg-wysiwyg-iframe").contents().find('html');
function detectFn(){
alert('Detected');
}
var timer;
current.bind({
keyup: function(){
clearTimeout(timer);
timer = setTimeout(detectFn, 2000)
}
});
});
消息来源:
Yasir Laghari 和 Ghommey 对这个解决方案有真正的功劳。
jQuery/JavaScript:访问 iframe 的内容
在按键上,当 X 秒后停止调用函数时
说明:
1) 'jwysiwyg 插件' 它的作用是替换 iframe 的 textarea。文本位于“p”标签内,另一件要考虑的事情是该标签不能被点击,如果你点击文本,你实际点击的是“iframed html”标签。
2) 要让 jQuery 访问和选择 iframed 元素,必须使用 'contents()' 方法。这样我们就可以开始使用 iframe 触发一些功能。
3) 创建detectFn(),它将在检测到假文本区域中的更改后执行您要使用的代码。
4) 声明变量'timer'。
5) bind() 方法必须与“iframed html”标签一起使用才能使用 keyup 事件。这样就可以模拟文本区域的输入动作。
6)每个keyup都会多次执行detect函数,为了防止这种情况,我们使用setTimeout方法并将detectFn存储在变量'timer'中。最后,必须将变量作为参数传递给 clearTimeout,这样每次 keyup 都会取消之前执行的检测函数。