Chrome应用中的嵌套事件侦听器

时间:2014-06-17 09:56:59

标签: javascript google-chrome-app addeventlistener

我正在做一个Chrome应用,我有一个事件监听器,它首先监听所有DOM是否准备就绪,然后它会触发另外两个关于点击按钮的监听器。我用这种方式嵌套了所有这些:

document.addEventListener('DOMContentLoaded', function() {

    var cf = document.getElementById('conv');
    var gf = document.getElementById('gotof');

    cf.addEventListener('click', convert, false);
    gf.addEventListener('click', gotof, false);

},false);

但是在控制台中我仍然会收到

的消息
Uncaught TypeError: Cannot call method 'addEventListener' of null 

发生这种情况是因为我在没有时间加载DOM时尝试调用id conv,但是......我的第一个事件监听器没有处理这个问题吗?我猜想无论你使用DOMContentLoaded在事件的函数内部进行什么操作,都不会运行,除非所有内容都被加载...

调用的两个id指的是html文件中定义的按钮对象。如果我在html中定义它们或者我用js语法定义它们会有所不同(如createElement

编辑以显示此代码引用的html:

<input type="button" class="css_button" value="Convert to DJ Ticker" id="conv" >
<input type="button" class="css_button" value="Go to website" id="gotof" >

据我所知,按钮有一个id,所以它们应该被getElementById捕获,以便为它们提供一个函数。

谢谢!

0 个答案:

没有答案