Javascript 单击事件时未执行window.addEventListener
这是一个非常基本的Firefox插件,它打开一个新选项卡并加载指定的html文件。 它将ContentScript附加到选项卡上,但出于某种原因,会发出警报“在事件侦听器中”;从来没有被处决过? 虽然警报“在脚本中”;它跑了。 为什么 main.js controller.js view.html 转向解决方案Javascript 单击事件时未执行window.addEventListener,javascript,firefox-addon,firefox-addon-sdk,addeventlistener,Javascript,Firefox Addon,Firefox Addon Sdk,Addeventlistener,这是一个非常基本的Firefox插件,它打开一个新选项卡并加载指定的html文件。 它将ContentScript附加到选项卡上,但出于某种原因,会发出警报“在事件侦听器中”;从来没有被处决过? 虽然警报“在脚本中”;它跑了。 为什么 main.js controller.js view.html 转向解决方案 将onOpen更改为onReady,而不是document.addEventListener使用window.addEventListener。bobbyrne01报告说它工作正常,但不
将onOpen更改为onReady,而不是document.addEventListener使用window.addEventListener。bobbyrne01报告说它工作正常,但不知道为什么它会被修复。它工作正常。也许你正在做event.stopPropagation,但我们不知道从这段代码中你是否尝试过作为firefox插件?我看到JSFIDLE可以工作,但当打包为插件时,相同的代码不工作。我不会调用event.stopPropagation无论在什么地方这很奇怪,请尝试document.addEventListener仍然没有使用document的警报。addEventListener更改为onReady完成了window的操作。addEventListener,非常感谢!
var tabs = require("sdk/tabs");
tabs.open({
url: require('sdk/self').data.url('html/view.html'),
isPinned: true,
onOpen: function onOpen(tab) {
console.log("onOpen");
tab.attach({
contentScriptFile: require('sdk/self').data.url('js/controller.js')
});
}
});
window.addEventListener('click', function(event) {
alert('in event listener');
}, false);
alert('in script');
alert(document.getElementById("text").value);
// output
// console.error: MyApp:
// Message: TypeError: document.getElementById(...) is null
<html>
<body>
<textarea id="text">yo</textarea>
</body>
</html>