请问大佬如何避免重复添加addEventListener
我开始尝试用一个Boolean变量控制,行得通,但是网页一旦AJAX重载后,由于Boolean变量还是false,又不能addEventListener,所以一旦AJAX我写得脚本就失效,请问大佬有什么好方法? AJAX重载不会影响变量呀有没有例子看看 李恒道 发表于 2022-5-23 09:37
AJAX重载不会影响变量呀
有没有例子看看
let numI = true;
let inputblur =document.querySelector('#sales-sourceid-orderAddPage');
if (inputblur && numI){
// console.log('add');
inputblur.addEventListener("focusout", function(event) {
let customerInput = document.querySelector('#sales-customer-showid-orderAddPage a');
if (inputblur.value){
QueryCustomerOrder(customerInput.innerText,inputblur.value);
}
},true);
numI = false;
}
这个页面是由js生成的,页面有个保存按钮,点击保存后页面又会重新生成。
问题在于我加了numI 这个参数,页面重新生成后numI 还是false,绑不了事件监听;但是不用这个参数,就会重复添加事件监听 琦玉 发表于 2022-5-23 11:46
这个页面是由js生成的,页面有个保存按钮,点击保存后页面又会重新生成。
问题在于我加了numI 这个参数 ...
可以先尝试removeaddeventlistener一次
然后再附加?
或者附加一次之后对buttion附加一个class类名作为标识
判断有class类就不继续执行了 李恒道 发表于 2022-5-23 14:06
可以先尝试removeaddeventlistener一次
然后再附加?
或者附加一次之后对buttion附加一个class类名作为标 ...
后面那方法不错,我试下。
页:
[1]