JS解决重复绑定问题以及获取事件

1.一些数据交互元素如button 为了避免重复提交信息,可以在$.post或$.get后unbind,在收到返回后再重新绑定;或者将button设置为disabled

2.在ajax可能改变某些参数,同事参数需要在bind时赋值的,在参数变动后需要unbind再重新bind

3.某个元素的click行为是动态绑定的,将会有可能出现重复的绑定,点击一次元素将会触发两次绑定;因此动态绑定的方法需要在绑定时提前解除绑定;

4.使用jQuery的off('click')或者unbind('click')会解除所有通过jQuery绑定的click事件;

5.输入框的绑定事件:当获得焦点时候支持键盘回车响应;失去焦点时候是不会响应keydown的,响应keydown的元素应该是activeElement;此事件不需要解绑;

6.不解绑不会造成内存泄漏;

7.用jQuery绑定的事件用javascript原生代码解绑是无效的(不知道具体原因)

Js获取触发事件:

1.event.srcElement:引发事件的目标对象,常用于onclick事件。

2.event.fromElement:引发事件的对象源,常用于onmouseout和onmouseover事件。

3.event.toElement:引发事件后,鼠标移动到的目标源,常用于onmouseout和onmouseover事件。

Js获取目标事件:

e = e || window.event;

name = e.tagName || e.srcElement;

原文地址:https://www.cnblogs.com/Decmber/p/5804202.html