首页 > 网站 > WEB开发 > 正文

【Javascript】重新绑定默认事件

2024-04-27 14:16:31
字体:
来源:转载
供稿:网友

javascript】重新绑定默认事件

更多内容,请移步 JSCON-简时空

JS Event Model

在有一种场景下,你想先屏蔽掉默认的系统事件,而在特定条件下又重新绑定回去。

【场景】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/


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表