使用情境:
对ajax返回的未来元素进行事件绑定, 需要利用冒泡机制, 进行事件委托.
并使用e.target 获取目标元素
使用语法
假设通过ajax返回了tr数据, 需要对tr绑定 click
事件, 直接使用click(function(){})
或者 on('click', function(){})
达不到效果, 需要将click
事件委托到已经存在的父级或者更高一级的dom元素上.(利用了冒泡机制)
$('tbody').on('click',tr,function(e){
// console.log($(this)) // tbody
// console.log(e.target) // td (假如有td), 注意这已经不是jq对象了
console.log($(e.target).parent('tr')) //tr
}
补充
-
事件参数
e
function(e){ // 兼容低版本需要加上 e || window.event; (不过现在一般也没必要) // 指向当前发生的事件, 比如 click , mouseover }
触发事件的对象的引用:
e.target
: 指向触发事件监听的对象(可以参考上面代码)e.currentTarget
指向添加监听事件的对象