我无法通过Chrome扩展程序中的按钮在文档上使用removeEventListener。
我对孤立的世界有很好的了解,但我不知道我该怎么做。我什至不确定弹出脚本是否也受制于孤立的世界环境?
我正在检查是否存在隐藏字段。当检测到该隐藏字段时,该代码应该删除事件侦听器,但是好像它不存在。这是我的popup.js:
function toggle_clare(){
if(!document.getElementById("clare_on")){ //check for existence of hidden field
var clare_status = document.createElement("input");
clare_status.type = "hidden";
clare_status.id = "clare_on";
clare_status.value = "on";
document.body.appendChild(clare_status); //add it to document if doesn't exist
document.addEventListener("keyup", read_out, true); //add keyup listener
return clare_status.value; //send "on" to the button in the popup
}
else if(document.getElementById("clare_on")){ //alread exists
var off = "off";
$("#clare_on").remove();//remove the hidden field
document.removeEventListener("keyup", read_out, true);//not working
return off; // send "off" to the button
}
}
//Function call
document.getElementById( "clare_button" ).addEventListener( "click",
function(){
chrome.tabs.executeScript({
code: '(' + toggle_clare + ')()'
}, ( results ) => { // receive "on" or "off" from toggle_clare function
document.getElementById("clare_button").innerText = "Clare is now " + results[0];
})
})
我期望这会在删除隐藏字段时删除事件侦听器。除了removeEventListener之外,所有这些代码都有效。