2013-10-18 27 views
7

今天我開始用Jquery失去主意,我討論了其他問題,但迄今爲止沒有任何工作。我有簡單的html結構(在for循環中動態添加)。選擇器上的Jquery點擊事件將子對象返回爲目標

<div id="cell'+i+'" class="cell emptyCell"> 
    <div class="handle"></div> 
    <div class="content"></div> 
</div> 

我使用了「上」方法綁定「點擊事件」與自定義功能類「.emptyCell」的元素。

$(document).on('click','.emptyCell', function(e){ 

    console.log(e.target.id); 

}); 

但是,當用戶點擊。內容DIV(emptyCell的孩子),它捕獲的事件,和控制檯打印「未定義」,因爲。內容元素沒有IDS在這裏。

這怎麼可能? .on函數是否應該只綁定類.emptyCell的元素?

感謝您的幫助

+0

我不這麼認爲,我認爲這是因爲它們重疊,而target指的是ini回答 – webaba

回答

20

e.target指的是點擊發生的事情(也可以是handlecontent要素)的實際元素,如果你想參考emptyCell那麼你可以使用thise.currentTarget

$(document).on('click','.emptyCell', function(e){ 
    console.log(this.id); 
    console.log(e.currentTarget.id); 
}); 

演示:Fiddle

+0

謝謝!我現在明白了... – webaba

+0

謝謝,你解釋得很清楚 – pastullo

相關問題