本文實例講述了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程式設計有所幫助。