gpt4 book ai didi

JavaScript - 如何根据此函数的结构删除事件监听器?

转载 作者:行者123 更新时间:2023-12-02 23:14:30 25 4
gpt4 key购买 nike

如何删除此 JavaScript 函数中设置的事件监听器?如果可能的话,我想从另一个函数来做到这一点?如果这是不可能的,那么在同一个函数中就可以工作。

function _dtmCheckFundingEditLink() {


function _dtmGetCurrentFundingAmount() {

var currAmt = "NA";

try {

currAmt = sessionStorage.getItem("_dtmFundAmount");

} catch (err) {

return currAmt;

}

return currAmt;

};



editLink = document.querySelectorAll('.btn-grp-back');



if (editLink != null) {

editLink[2].addEventListener('click', function() {

var clNm = s.pageName + ":" + _dtmGetCurrentFundingAmount() + ":edit";

_dtmReportCL(clNm);

})

} else {

setTimeout(_dtmCheckFundingEditLink, 1000);

}

};

最佳答案

将事件监听器调用的函数声明为单独的函数而不是匿名函数:

function handler(){
//handle event
}

添加事件监听器:

.
.
.
if (editLink != null) {

editLink[2].addEventListener('click', handler);

} else {

setTimeout(_dtmCheckFundingEditLink, 1000);

}
.
.
.

现在您可以从单独的函数中删除该处理程序:

 function sampleFunction(){
editLink = document.querySelectorAll('.btn-grp-back');
editLink[2].removeEventListener('click', handler);

}

关于JavaScript - 如何根据此函数的结构删除事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57212982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com