Javascript &引用;未捕获引用错误:未定义getEventListeners";
我正在尝试删除侦听器。在控制台中,下面的代码正在工作。当我在Chrome扩展中使用代码时,我得到:“未捕获引用错误:未定义getEventListeners”。为什么会发生这种情况?是否有与函数“getEventListeners”等效的函数Javascript &引用;未捕获引用错误:未定义getEventListeners";,javascript,google-chrome,google-chrome-extension,google-chrome-devtools,referenceerror,Javascript,Google Chrome,Google Chrome Extension,Google Chrome Devtools,Referenceerror,我正在尝试删除侦听器。在控制台中,下面的代码正在工作。当我在Chrome扩展中使用代码时,我得到:“未捕获引用错误:未定义getEventListeners”。为什么会发生这种情况?是否有与函数“getEventListeners”等效的函数 document.addEventListener('click',fireContentLoadedEvent,false); 函数fireContentLoadedEvent(){ console.log(“DOMContentLoaded”); fo
document.addEventListener('click',fireContentLoadedEvent,false);
函数fireContentLoadedEvent(){
console.log(“DOMContentLoaded”);
for(设i=0;i1){
plusButton.removeEventListener(“单击”,getEventListeners(plusButton)。单击[1]。listener);
}
}
}
getEventListeners是扩展的一部分吗?我知道它是命令行界面的一部分,而不是JavaScriptgetEventListeners
的一部分,它只在打开devtools时在控制台中定义。通过chrome.debugger API和domdugger.getEventListeners命令有一个复杂的等价物,这可能是您不希望看到的,因为它会在所有选项卡中显示警告。假设侦听器是由页面在其脚本中添加的,一个实用的解决方案是使用“run_at”:“document_start”和hook EventTarget.prototype.addEventListener来运行内容脚本,或者在页面上下文中添加自己的调用stopImmediatePropagation的单击处理程序。这是否回答了您的问题@wOxxOm,你能告诉我更多关于chrome.debugger API和DOMDebugger.getEventListeners的信息吗?寻找演示扩展和使用chrome.debugger的示例。有关该命令的详细信息,请参见。
document.addEventListener('click', fireContentLoadedEvent, false);
function fireContentLoadedEvent () {
console.log ("DOMContentLoaded");
for (let i = 0; i < document.getElementsByClassName("someClass").length; i++) {
plusButton = document.getElementsByClassName("someClass")[i]
if ( getEventListeners(plusButton)["click"].length > 1) {
plusButton.removeEventListener("click", getEventListeners(plusButton).click[1].listener);
}
}
}