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(); } });
这样算是解决了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。