如何在YUI事件处理程序中获取DOM节点?

时间:2012-05-03 16:26:16

标签: javascript dom yui3

鉴于绑定到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节点的私有字段,但肯定有一种安全的方法可以做到这一点。

1 个答案:

答案 0 :(得分:1)

e.currentTarget似乎是您正在寻找的内容:

links.on('click', function (e) {
    alert(e.currentTarget.get('id'));
});

来自NodeList's on

  

默认情况下,this对象将是订阅来自的NodeList不是收到活动的Node 。使用e.currentTarget来引用Node