我已经在SO和整个web上看到了许多其他帖子,但是那些处理尝试在元素创建之前添加事件处理程序。我的情况不同。通过调用一些事件处理程序的document.getElementById在其他人工作正常时返回null
<nav id="main_menu">
<ul>
<li id="liMapFilter" class="list"><img id="imgFilter" src="images/filter_icon.png">Filter</li>
<li id="liDiagnostics" class="list"><img id="imgTools" src="images/tools_icon.png">Administration</li>
</ul>
</nav>
我设置页面加载后:
我有了以下一段HTML文档
$(document).ready(function() {
home.init();
});
的
home.init()
功能我设置内
以下听众:
var elmMapFilter = document.getElementById('liMapFilter"');
cs_core.addEvent(elmMapFilter, 'click', home.showDialogMapFilter, false);
所有其他侦听器处理程序只是连接f ine,但是这个特定的东西总是抛出一个空引用。我无法理解这个处理器何时工作正常:
var elmDiagnostics = document.getElementById('liDiagnostics');
cs_core.addEvent(elmDiagnostics, 'click', core.showDiagnostics, false);
请指教。
所以你使用jQuery,你只是没有使用它的一切。 – adeneo
是的,这是正确的。 –
你的脚本在哪里执行?分享您的HTML请 –