2016-04-23 37 views
3

的jQuery 2.2.3訪問數據(「」)

我有元素的動態列表,即獲得創建/在飛行中刪除:

<ul id="tracks"> 
    <button class="createRace" data-trackcode="410243">Create Race</button> 
    <button class="createRace" data-trackcode="123540">Create Race</button> 
    ... 
</ul> 

我使用以下技術來對按鈕點擊作出反應。

$("#tracks").on("click", ".createRace", createRaceClick); 

createRaceClick()函數被調用,但「」對象引用#tracks,不被按下的button

如何確定哪個按鈕被按下?或者更具體地說,我怎樣才能得到與被按下的實際按鈕相關聯的data("trackcode")

感謝

回答

1

那麼這是奇怪的,因爲在事件代表團此背景下,this應參照button這是clicked。但是你可以使用event objecttarget屬性來獲取對引發點擊event.createRace

$("#tracks").on("click", ".createRace", createRaceClick); 

function createRaceClick(e){ 

    var data=$(e.target).data('trackcode'); // $(this).data('trackcode') should work 
} 
+1

謝謝。這工作完美。我認爲因爲$(「#tracks」)附有「on」,那麼這是傳遞給事件函數的上下文。 –