鉴于绑定到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节点的私有字段,但肯定有一种安全的方法可以做到这一点。
答案 0 :(得分:1)
e.currentTarget
似乎是您正在寻找的内容:
links.on('click', function (e) {
alert(e.currentTarget.get('id'));
});
默认情况下,
this
对象将是订阅来自的NodeList
,不是收到活动的Node
。使用e.currentTarget
来引用Node
。