zepto.js中tap事件阻止冒泡的实现方法

  作者:bea

本文实例讲述了zepto.js中tap事件阻止冒泡的实现方法。分享给大家供大家参考。具体如下: 最近在弄一个手机版的网站,本来想用jQuery Mobile,但文件太大了,所以用了zepto.js 由于移动网页中使用click事件会有延迟,所以就用上了zepto.js中的tap事件。 使用click事件可以使用stopPropagation来阻止冒泡,但tap使用该方法无效 现在我需要实现这样一个效果:点击a.btn这个按钮,然后显示div.panel,当我点击非div.pa

本文实例讲述了zepto.js中tap事件阻止冒泡的实现方法。分享给大家供大家参考。具体如下:


最近在弄一个手机版的网站,本来想用jQuery Mobile,但文件太大了,所以用了zepto.js


由于移动网页中使用click事件会有延迟,所以就用上了zepto.js中的tap事件。


使用click事件可以使用stopPropagation来阻止冒泡,但tap使用该方法无效


现在我需要实现这样一个效果:点击a.btn这个按钮,然后显示div.panel,当我点击非div.panel时隐藏div.panel




$("a.btn").on("tap",function(e){
e.stopPropagation();//该方法不起作用
$("div.panel").show();
});
$(document).on("tap",function(e){
$("div.panel").hide();
});


通过调试工具,得到e这个对象中有一个target属性,于是可以通过该属性来实现所需要的效果:




$("a.btn").on("tap",function(){
$("div.panel").show();
});
$(document).on("tap",function(e){
if(!$(e.target).hasClass("btn")){
$("div.panel").hide();
}
});


这样算是解决了


希望本文所述对大家的javascript程序设计有所帮助。




有用  |  无用

猜你喜欢