1.为动态添加的元素添加事件时,直接给元素添加事件,由于找不到动态添加的元素而报错;
解决:使用事件委托的方式,给其父元素添加事件,前提父元素不是动态添加的;
$("#table tbody").on("click",".child",function(){
//做一些操作
})
2.事件委托时阻止事件冒泡有可能失效
原因:on方法的元素操作的是父元素($("#table tbody")),而非.child子元素,所以事件执行的时候依然会冒泡到tbody元素,tr上如果添加了点击事件也会执行
解决方案:再包一层父元素,找到没有添加事件的元素来进行事件委托,如$("#table tbody tr td"))
网友评论