我知道可能已经有很多这样的问题了,但我查看了其中一些问题,但我无法得到解决方案。我目前正在使用WYSIWYG编辑器,我需要在用户输入密钥时保存。
我不希望它更新每个更改,但最多每两秒更新一次。你能告诉我为什么这段代码不起作用吗?
var updatetimer;
var body=$('#iframe').contents().find('body');
body.attr('contenteditable', true);
$(body).on('keyup', function() {
clearTimeout(updatetimer);
updatetimer = setTimeout(function(){
savepagetext();
},2000);
});
它确实有效但每个键盘都会触发savepagetext()
。如何正确防止这种情况?
答案 0 :(得分:0)
我能够使用全局window.setTimeout()
对象使用此代码解决它。谢谢你的建议!
var iframeBody = $('body', $('#iframe')[0].contentWindow.document);
iframeBody.attr('contenteditable', true);
$(iframeBody).on('keyup', function(event) {
clearTimeout(window.updatetimer)
window.updatetimer = setTimeout(function(){
savepagetext();
},2000);
});