// onclick绑定
document.body.onclick = () => {
console.log(111)
}
// 解绑
document.body.onclick = null;
=================================================
jquery写法:
绑定
$(dom).click([子元素,]function(){});
$(dom).on(事件名[,子元素],function(){})
解绑:https://www.jb51.net/article/95723.htm
$(dom).off(事件名)
off()函数用于移除元素上绑定的一个或多个事件的事件处理函数。
off()函数主要用于解除由on()函数绑定的事件处理函数。
写法:
用法一:
jQueryObject.off( [ events [, selector ] [, handler ] ] )
handler 可选/Function类型指定的事件处理函数。
用法二:
jQueryObject.off( eventsMap [, selector ] )
定义: addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作。
参数:addEventListener("事件名" , "事件处理函数" , "布尔值"); (注:事件名不含"on",如“click”);
均含有参数三个, 现在的版本可以省略第三个参数,默认值为false
注意事项:通过addEventListener()添加的事件处理程序只能使用removeEventListener()来移除;
移除时传入的参数与添加处理程序时使用的参数相同。
意味着通过addEventListener()添加的匿名函数无法移除=========
示例:添加事件
要在body上添加事件处理程序,可以使用下列代码:
document.body.addEventListener('touchmove', function (event) {
event.preventDefault();
},false);
&&& 这种移除虽然看着函数一直,但均为匿名函数,无法移除!!!
document.body.removeEventListener('touchmove', function (event) {
event.preventDefault();
},false);
&&& 正确写法:(方法要实名声明,之后向下面这样绑定和解绑即可)
function bodyScroll(event){
event.preventDefault();
}
document.body.addEventListener('touchmove',bodyScroll,false);
document.body.removeEventListener('touchmove',bodyScroll,false);
总结:
1:相同事件绑定和解除,需要使用共用函数;绑定和解除事件时 事件没有"on" 即onclick写成click
2:共用函数不能带参数;
element.attachEvent(eType,function(e))
适用范围:IE 6、7、8
参数介绍:
eType: 必须。字符串,事件名称,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
function:必须。定要事件触发时执行的函数。
attachEvent方法 只有ie浏览器支持
非ie浏览器要用 addEventListener("click", function (e) {
}, false);