首页 > 代码库 > 【Javascript】重新绑定默认事件
【Javascript】重新绑定默认事件
更多内容,请移步 JSCON-简时空
在有一种场景下,你想先屏蔽掉默认的系统事件,而在特定条件下又重新绑定回去。
【场景】H5页面,动画欢迎界面,共6帧;想在前5帧中屏蔽掉默认的touchmove事件,在第6帧是表单页面,想恢复系统默认的touchmove——这样用户可以自由拖拽页面,浏览完整的表单信息
原生JS:
目前我所能想到的最简单粗暴有效的方法是这样的:(没错,it works)
document.ontouchmove = function(e){return false;} if(index == 5){ document.ontouchmove = function(e){return true;}; }
jQuery:
有jQuery的日子才是好日子,使用jQuery你将变得更加的强大。任何一个元素将事件的原有事件handler
放在data-events
属性中。所以你在调用unbind
方法时,将其存储到一个变量中即可:(注意事件对象是一个数组)
var events = $(‘#test‘).data("events"); $(‘#test‘).unbind(‘click‘, events.click[0]);
或者:
var storedClick = $test.data(‘events‘).click[0].handler;$test.bind(‘click‘, storedClick)
原理:jQuery: Unbind event handlers to bind them again later
实例:http://jsfiddle.net/76GPF/
【Javascript】重新绑定默认事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。