扫码关注官方订阅号
jQuery有什么办法可以重新绑定整个页面的事件?我用 ajax 方式加载了另外一个页面,但是那个页面有非常多需要重新绑定的东西了,我该怎么办...
认证0级讲师
一般ajax加载的页面都是用事件委托来处理吧,你把现有的监听改成委托形式就行了。
可以使用 off事件进行解绑,之后再用on时间来进行绑定,可以试下
比如:
$(document).off("click").on("click",function(){ console.log("hello") }); <p id='show'></p> $("#show").offf("click").on("click",function(){ console.log("hello"); }) ajax请求之后 $("#show").offf("click").on("click",function(){ console.log("world"); }) 这样应该就不冲突了吧,只是说个大致思路,如果有觉的不合适,可以自己试试别的。
可以使用 off事件进行解绑,之后再用on时间来进行绑定`$(document).off("click").on("click",'要绑定事件的标签',function(){
console.log("hello")
})`这样就算是重新添加的标签也会有相应事件
$(document).on("click",'element',function(){ so something... })
就这样,无需off(),然后再次重新绑定。这样做的好处是,element元素是绑定在document上的,当点击页面元素时,首先会触发文档,在冒泡到具体的元素上面,也就无需给新添加的元素解绑再增加事件这一步操作。
element
document
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
一般ajax加载的页面都是用事件委托来处理吧,你把现有的监听改成委托形式就行了。
可以使用 off事件进行解绑,之后再用on时间来进行绑定,可以试下
比如:
可以使用 off事件进行解绑,之后再用on时间来进行绑定
`
$(document).off("click").on("click",'要绑定事件的标签',function(){
})
`
这样就算是重新添加的标签也会有相应事件
就这样,无需off(),然后再次重新绑定。
这样做的好处是,
element元素是绑定在document上的,当点击页面元素时,首先会触发文档,在冒泡到具体的元素上面,也就无需给新添加的元素解绑再增加事件这一步操作。