本文實(shí)例講述了zepto.js中tap事件阻止冒泡的實(shí)現(xiàn)方法。分享給大家供大家參考。具體如下:
最近在弄一個(gè)手機(jī)版的網(wǎng)站,本來(lái)想用jQuery Mobile,但文件太大了,所以用了zepto.js
由于移動(dòng)網(wǎng)頁(yè)中使用click事件會(huì)有延遲,所以就用上了zepto.js中的tap事件。
使用click事件可以使用stopPropagation來(lái)阻止冒泡,但tap使用該方法無(wú)效
現(xiàn)在我需要實(shí)現(xiàn)這樣一個(gè)效果:點(diǎn)擊a.btn這個(gè)按鈕,然后顯示div.panel,當(dāng)我點(diǎn)擊非div.panel時(shí)隱藏div.panel
$("a.btn").on("tap",function(e){ e.stopPropagation();//該方法不起作用 $("div.panel").show();});$(document).on("tap",function(e){ $("div.panel").hide();});通過(guò)調(diào)試工具,得到e這個(gè)對(duì)象中有一個(gè)target屬性,于是可以通過(guò)該屬性來(lái)實(shí)現(xiàn)所需要的效果:
$("a.btn").on("tap",function(){ $("div.panel").show();});$(document).on("tap",function(e){ if(!$(e.target).hasClass("btn")){ $("div.panel").hide(); }});這樣算是解決了
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注