[英]How do I get the DOM node within a YUI event handler?
给定一个与YUI的一系列链接绑定的通用处理程序,我如何找出哪个链接触发了该事件?
YUI().use('node', function (Y) {
var list = Y.one('#studentList'), links;
links = list.all('a');
links.on('click', function (e) {
alert(this.get('id')); // this just shows a comma delimited list of all ids
});
});
我想我可以单独绑定每个链接,而不是使用链接列表上的“ on”惯用语,但是对我来说,YUI无法提供对DOM节点的访问似乎很奇怪。 深入研究事件对象将显示几个看起来像DOM节点的私有字段,但是肯定有一种安全的方法可以做到这一点。
e.currentTarget
似乎是您要找的东西:
links.on('click', function (e) {
alert(e.currentTarget.get('id'));
});
从NodeList的on
:
默认情况下,
this
对象将是订阅来源的NodeList
,而不是接收事件的Node
。 使用e.currentTarget
引用Node
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.