2012-05-03 45 views
0

給定一個綁定到YUI鏈接的通用處理程序,如何找出哪個鏈接觸發了該事件?如何獲取YUI事件處理程序中的DOM節點?

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

我想我可以每個環節單獨綁定,而不是使用鏈接列表上的「上」的成語,但它似乎有些奇怪,我認爲YUI將不提供訪問DOM節點。挖掘事件對象會顯示幾個看起來像DOM節點的私有字段,但肯定必須有一個安全的方法來做到這一點。

回答

1

e.currentTarget似乎是你在找什麼:

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

NodeList's on

默認情況下,this對象將是NodeList認購的,不出來收到事件Node。使用e.currentTarget來指代Node

+0

謝謝@Jonathan,並感謝您的鏈接。 – Ishmael

相關問題