首页 > 编程语言 > 详细

【Javascript】重新绑定默认事件

时间:2014-11-19 20:14:44      阅读:316      评论:0      收藏:0      [点我收藏+]

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

bubuko.com,布布扣

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

【场景】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】重新绑定默认事件

原文:http://www.cnblogs.com/boychenney/p/restore_default_event.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!