2011-11-28 45 views
0

我有一个DOMContentLoaded调用startup()函数的监听器。如何在Javascript中添加事件处理程序?

我想在启动函数中添加更多侦听器(在启动函数内)添加到DOM中的项目。但它似乎失败(没有点击事件注册)

我使用item.addEventListener("click", f, false);其中f是应该运行的函数。

注意:我不能使用onclick = ...我也不能使用JQuery。

Demo code is here

+0

显示一些代码和标记,一个最小的例子将做。 – RobG

+0

我的代码:https://docs.google.com/document/d/1h_CjGLd7Ym1NeyuRNjnC3eP29oqCpb9rIQ7_XGbWXAM/edit – antonpug

+0

这里发布最简单的例子要好得多。创建这个例子很可能会发现你的问题。如果没有,这个例子(可能是一个解决方案)将可用于后代。否则,可能会有一个模糊的问题与死链接和不一致的答案。 – RobG

回答

1

你有几个问题,在您的代码:

  1. previous功能没有被定义
  2. 要通过附加的addEventListener点击事件,事件名称为click没有onclick
  3. 您正在致电addListeners以外的load功能。

这是一个可行的的jsfiddle:http://jsfiddle.net/VUgRu/

你应该总是使用JavaScript控制台看到你做了什么错误。

0

使用无框架(没有借口使用它们),并添加标准兼容的浏览器和Internet Explorer 8及以上的的attachEvent事件侦听器...

if (window.addEventListener) {document.addEventListener('keydown',keyPressed,false);} 
else {document.attachEvent('onkeydown',keyPressed);} 

function keyPressed(evt) 
{ 
var e = evt || event; 
var key = e.which || e.keyCode; 

switch (key) 
{ 
    case 77:// M 
    alert('m key pressed'); 
    break; 

    case 76://L 
    alert('L key pressed'); 
    break; 
} 
} 
相关问题