setInterval 中的警报

时间:2021-07-11 13:21:40

标签: javascript jquery ace-editor

在下面的代码中,我试图在 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 个答案:

答案 0 :(得分:0)

根据freedomn-m 的建议,在删除setInterval( ) 并将其包装在$(document).ready(function() { }) 中后,工作正常。

答案 1 :(得分:-1)

setInterval(function, time) 方法用于在每个时间调用函数

所以你必须使用 setTimeout(function, time) 方法。

相关问题