在下面的代码中,我试图在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);
}
}
});
2条答案
按热度按时间cunj1qz11#
按照freedomn-m的建议,在移除
setInterval( )
把它包起来$(document).ready(function() { })
工作。jqjz2hbq2#
setInterval(function, time)
方法用于每次调用函数。所以你必须使用
setTimeout(function, time)
方法。