在下面的代码中,我试图在 Ace 编辑器(比如说 textarea)中禁用粘贴。我想在用户尝试粘贴时添加警报。当我添加 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);
}
}
});
答案 0 :(得分:0)
根据freedomn-m 的建议,在删除setInterval( )
并将其包装在$(document).ready(function() { })
中后,工作正常。
答案 1 :(得分:-1)
setInterval(function, time)
方法用于在每个时间调用函数。
所以你必须使用 setTimeout(function, time)
方法。