使用情境:
對(duì)ajax返回的未來元素進(jìn)行事件綁定, 需要利用冒泡機(jī)制, 進(jìn)行事件委托.
并使用e.target 獲取目標(biāo)元素
使用語法
假設(shè)通過ajax返回了tr數(shù)據(jù), 需要對(duì)tr綁定 click
事件, 直接使用click(function(){})
或者 on('click', function(){})
達(dá)不到效果, 需要將click
事件委托到已經(jīng)存在的父級(jí)或者更高一級(jí)的dom元素上.(利用了冒泡機(jī)制)
$('tbody').on('click',tr,function(e){
// console.log($(this)) // tbody
// console.log(e.target) // td (假如有td), 注意這已經(jīng)不是jq對(duì)象了
console.log($(e.target).parent('tr')) //tr
}
補(bǔ)充
-
事件參數(shù)
e
function(e){ // 兼容低版本需要加上 e || window.event; (不過現(xiàn)在一般也沒必要) // 指向當(dāng)前發(fā)生的事件, 比如 click , mouseover }
觸發(fā)事件的對(duì)象的引用:
e.target
: 指向觸發(fā)事件監(jiān)聽的對(duì)象(可以參考上面代碼)e.currentTarget
指向添加監(jiān)聽事件的對(duì)象