解决pjax重复加载js导致事件重复绑定的问题

Posted 夜漫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决pjax重复加载js导致事件重复绑定的问题相关的知识,希望对你有一定的参考价值。


个人博客 地址:http://www.wenhaofan.com/article/20180925232057

1.所有js统一在pjax容器外引入

    在pjax容器外引入的js只会被引入一次,所以不会出现重复加载的问题,但是该方法仅适用于页面较少的情况,如果页面很多,那么会导致第一次访问时引入大量不一定会被适用到的js,效率低下。

2.将绑定事件和其他事件区分成两个js来引入

    在pjax中判断是否已经引入绑定事件的js,如果已经引入则不再重复引入。

3.在js中添加代码判断是否已经被引入

    目测采用这种方法居多,本博客后台也采用了这种方法

    $(document).ready(function() {
	
	//避免pjax重复加载js导致事件重复绑定
	if (typeof (isLoad) != "undefined") {
	    return;
	}   
	isLoad=true;
    }

   判断的变量名起得越长越好,避免与其他页面的冲突





以上是关于解决pjax重复加载js导致事件重复绑定的问题的主要内容,如果未能解决你的问题,请参考以下文章

js学习总结----DOM2兼容处理重复问题

pjax+layui遇到的坑

emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题

事件委托导致重复绑定多次事件

解决jquery绑定事件重复绑定问题

js中事件绑定