解决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;
    }

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

posted @ 2018-09-25 23:22  夜漫  阅读(1340)  评论(0编辑  收藏  举报