【问题标题】:How to attach behaviour to a document如何将行为附加到文档
【发布时间】:2011-10-04 01:10:18
【问题描述】:
我正在尝试将KeyDown 事件绑定到文档中的所有“输入类型=文本”控件。
我不能依赖 CSS 选择器,因为页面是动态变化的,所以我只知道当
页面中有一个“输入类型=文本”,我必须捕获 keydown 事件并对其进行处理....
我听说过document.addEventListener(),但我不确定这是否是好方法以及如何使用它。
我是 Javascript 和 DOM 的新手,请帮忙。
【问题讨论】:
标签:
javascript
dom-events
code-injection
unobtrusive-javascript
【解决方案1】:
好的,伙计们,我自己找到了答案,所以我会分享它。
我的目标是捕获所有 keydown 事件,所以我使用 addEventListener 和您可以在下面看到的 3 个参数,第一个:事件类型名称,第二个:函数事件处理程序,第三个:boolean 必需,指定是否需要捕获事件.
window.onload = function () {
if (document.addEventListener)
{
//attach the event listener which acts globally to the document:
document.addEventListener("keydown",justDoIt,true);
}
}
function justDoIt(){ alert("hobbes");}
最后,还少了一件事,我不知道如何检测触发事件的元素的id....如果有人知道请回复。
这就是全部 :P BTW 刚刚在 Safari 上测试过。¡ 但它可以在 IE 和 FireFox 上运行....