如何在Javascript中添加事件处理程序?

时间:2011-11-28 05:56:44

标签: javascript dom

我在DOMContentLoaded上有一个监听器,它调用startup()函数。

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

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

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

Demo code is here

2 个答案:

答案 0 :(得分:1)

您的代码中有几个问题:

  1. previous函数未定义
  2. 要通过addEventListener附加点击事件,事件名称为click而不是onclick
  3. 您在addListeners功能之外拨打load
  4. 这是一个有效的jsfiddle:http://jsfiddle.net/VUgRu/

    您应始终使用javascript控制台查看您获得的错误。

答案 1 :(得分: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;
 }
}