解决pjax重复绑定

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

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

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

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

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

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

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

    $(document).ready(function() {

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

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

原文地址:https://www.cnblogs.com/fanwenhao/p/9721612.html

时间: 2024-11-01 22:57:49

解决pjax重复绑定的相关文章

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

个人博客 地址:http://www.wenhaofan.com/article/20180925232057 1.所有js统一在pjax容器外引入 在pjax容器外引入的js只会被引入一次,所以不会出现重复加载的问题,但是该方法仅适用于页面较少的情况,如果页面很多,那么会导致第一次访问时引入大量不一定会被适用到的js,效率低下. 2.将绑定事件和其他事件区分成两个js来引入 在pjax中判断是否已经引入绑定事件的js,如果已经引入则不再重复引入. 3.在js中添加代码判断是否已经被引入 目测采

jquery on()方法重复绑定解决方法

最近再一次项目中发现 不刷新页面的情况下使用on()方法绑定事件会出现重复执行的问题,意思就是说点击一次会绑定一次...点击n次会绑定n次,执行起来是以你绑定的次数为准,绑定了n次就会执行n次 解决办法 在每次进行on()绑定之前先使用off()方法解除下绑定 例: //解除绑定事件 $('#aa').off('click'); //添加绑定事件 $('#aaa').on('click',dianjishijian); 完美解决重复绑定事件问题.

jquery事件重复绑定解决办法

jquery事件重复绑定解决办法 一$.fn.live 重复绑定 解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件. //先通过die()方法解除,再通过live()绑定$(“#selectAll”).die().live(“click”,function(){//事件运行代码}); 二click等事件 解决:使用unbind("click")方法先解除绑定的事件再绑定新事件,即在给对象绑定事件之前先移除该

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

解决jquery绑定事件重复绑定问题,以下用绑定click事件为例: 出现重复绑定情况: $(dom).click(function(e){})或者$(dom).on('click', function(e){}) 不管是click还是on都是会在原来方法上重复添加,所以我们需要如下做就可以解决 $(dom).unbind('click').click(function(e){}) 在绑定新click方法前对元素所绑定的click方法解绑

jquery事件重复绑定

本文实例分析了jQuery防止重复绑定事件的解决方法.分享给大家供大家参考,具体如下: 一.问题: 今天发现jQuery一个对象的事件可以重复绑定多次,当事件触发的时候会引起代码多遍执行. 下面是一个click事件被重复绑定的示例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function reg_button_click(){   $("#button).click(function(){     alert("button click");   }

jquery中click事件重复绑定问题

在最近的项目中遇到这样一个问题: 从心愿单中删除产品,1.如果直接确定删除,则删除成功,2.如果先取消删除,再次点击再确认删除,则会出现问题,测试发现: 对未来元素(类名为deleteFav的对象)绑定click事件中,如果function中还包含有元素(简称A)的click事件,在点击两次删除按钮时会出现A 元素的click事件重复绑定的情况 $("body").on("click",".deleteFav",function(){//点击删除

jQuery学习笔记之解除重复点击事情重复绑定

问题:有不同的按钮点击后都执行相同的事件,在jQuery重复点击就会产生事件重复绑定. 解决方法:使用unbind("click")方法,每次点击都先接触绑定已有事件再绑定新对象. $(".toComment").unbind("click").click(function(){ // 事件运行代码 });

jquery中事件重复绑定以及解绑问题

一般的情况下,对于这种情况,我们常规的思路是,先解绑,再绑定,如下: $(selector).unbind('click').bind('click',function(){....}); 当这样会有一个问题,unbind会把其之前的所有的click事件都unbind掉,可能会影响其他的绑定,有如下有两种方法解决: 第一种: 使用事件命令空间,来唯一标识这个click的绑定,这样在解绑是不会将其他click绑定的事件也给解绑. $(selector).unbind('click.selector

backbone出现重复绑定,el上绑定数据没有及时解除

昨天项目中出现了一个奇怪的现象,当从一个小页面(router路由跳转)到其他小页面,然后再跳转回来的时候,该页面上的事件被重复绑定了两次,例如绑定在button上面的submit事件触发两次,导致数据提交了两次,而跳转的次数越多,重复的次数也就越多,当遇到这个问题的时候,就想到了事件的重复绑定,但是因为每次该页面的VIEW都是 重新渲染的,HTML也是动态插入的,故而纠结了一会,最后老大出马,找到了根源所在,就是el,每次的操作虽然模板是手动插入的,但是el都是没有变动,而backbone的所有