window.addEventListener未在点击事件上执行

时间:2014-07-16 12:39:18

标签: javascript firefox-addon firefox-addon-sdk addeventlistener

这是一个非常基本的Firefox插件,它会打开一个新的tab并加载指定的html文件。
它会将ContentScript附加到tab,但出于某种原因alert('in event listener');永远不会被执行?
虽然alert('in script');确实在运行 是谁?

main.js

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')
    });
  }
});

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

view.html

<html>
    <body>
        <textarea id="text">yo</textarea>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

转向解决方案。

onOpen更改为onReady,而不是document.addEventListener使用window.addEventListener。 bobbyrne01报告说它有效,但不知道为什么要修复它。