在下面的代码中,我试图在Ace编辑器中禁用粘贴(比如说文本区域(。我想在用户尝试粘贴时添加警报。当我添加alert( )
时,它会无限期地显示警报。我想是因为setInterval( )
。但是如果我删除setInterval( )
,这个函数就不会运行。有没有办法在用户粘贴时只显示一次警报?
var CONTROL_INTERVAL02 = setInterval(function(){
stop = function(e) {
e.stopPropagation();
e.preventDefault();
}
var el = document.querySelectorAll('.ace_text-input');
if(el.length > 0) {
for (let i = 0; i < el.length; i++) {
el[i].addEventListener('paste', stop, true);
}
}
});
正如freedomn-m所建议的,在移除setInterval( )
并将其包裹在$(document).ready(function() { })
中之后工作。
setInterval(function, time)
方法用于在每个时间调用函数。
因此,您必须使用setTimeout(function, time)
方法。