关于click事件this的指向问题

版权声明:转载请注明出处链接! https://blog.csdn.net/qq_40259641/article/details/84962114

我的需求是页面内容是新增的,但是要在新增的内容里面点击其中一些内容发生事件,可是在事件中的this指向不对,即

$("div").click("p",function () {

console.log(this) // //这里的this始终指向div

})

此时我需要指向我点击的内容p ,则使用event.target替换this,即

$("div").click("p",function () {

console.log(event.target) // //这里的this指向p

})

使用案例:

$("li").click("input:checkbox[name='subCheckbox']",function () {// 点击动态生成的子按钮

扫描二维码关注公众号,回复: 4488552 查看本文章

if ($(event.target).prop("checked")) {// 子按钮选中

$(event.target).parent().parent().parent().addClass('preHide');//准备隐藏类名

} else {// 子按钮取消

$(event.target).parent().parent().parent().removeClass('preHide');//准备隐藏类名

}

});

[推荐使用]其实还有一个事件委托方法更好用,即:

$("li").on("click","input:checkbox[name='subCheckbox']",function () {

console.log($(this))//打印的指向始终是input:checkbox[name='subCheckbox'];

})

猜你喜欢

转载自blog.csdn.net/qq_40259641/article/details/84962114
今日推荐