最近在弄一个手机版的网站,原本想用jQuery Mobile,但文件太大了,因此用了zepto.jsjavascript
因为移动网页中使用click事件会有延迟,因此就用上了zepto.js中的tap事件。java
使用click事件能够使用stopPropagation来阻止冒泡,但tap使用该方法无效ide
如今我须要实现这样一个效果:点击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(); } });
这样算是解决了调试