如何将行为附加到文档

发布于 2024-11-19 15:16:54 字数 265 浏览 3 评论 0原文

我试图将 KeyDown 事件绑定到文档中的所有“Input type=text”控件。 我不能依赖 CSS 选择器,因为页面会动态变化,所以我只知道什么时候 页面中有一个“Input type=text”,我必须捕获 keydown 事件并用它做一些事情......

我听说过 document.addEventListener() 但我不确定这是否是好的方法以及如何使用它。

我是 Javascript 和 DOM 的新手,请帮忙。

I am trying to bind the KeyDown event to all "Input type=text" controls in the document.
I can't rely on CSS selectors because the page change dynamically, so I only know that when
there is an "Input type=text" in the page, I must catch the keydown event and do something with it....

I heard about document.addEventListener() but I am not sure if this is the good approach and how to use it.

I am newbie with Javascript and DOM, help please.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

無處可尋 2024-11-26 15:16:54

好的,我自己找到了答案,所以我会分享它。

我的目标是捕获所有 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 上工作......

ok guys, I found by myself the answer so I will share it.

my objective is catch all keydown events so I use addEventListener with the 3 parameters you can see below, first: event type name, second:function event handler,third: boolean Required that specifies whether the event needs to be captured or not.

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");}

Finally, one more thing is missing, I dont know how to detect the id of the element where the event was triggered....if someone knows please reply.

That's all :P BTW just tested on Safari.¡ but it would work over IE and FireFox....

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文