最近在弄一個手機版的網站,原本想用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(); } });
這樣算是解決了調試