jquery load()方法加载页面后绑定的点击事件失效问题。

如图中'.currentClone'按钮的点击事件所示,当load()重新加载该页面之后,会造成该点击事件失效,原因是load重新加载后按钮已不是原先的按钮。绑定到该元素的事件也就无法触发。所以可以使用事件委托的办法,如图中的第一个点击事件所示,将newStand的点击事件委托给#home-page-body这个外层不会被load()方法重新加载的div。但如果页面结构比较复杂,事件较多,不推荐该方法。

补充:其实第二次加载页面事件失效的根本原因在于,js文件并没有跟随html页面再次被加载。所以这些点击事件就不会被触发。可以在html页面引入js文件时默认调用js中的一个方法

比如这里在引入js文件时直接调用了init()方法,加载几次html页面就会加载几次init()方法。那么我们只要在init()方法中调用一下这些点击事件,那么点击事件就会被再次加载。事件失效问题解决!

你可能感兴趣的:(jquery load()方法加载页面后绑定的点击事件失效问题。)