溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Jquery Mobile 中綁定事件

發(fā)布時(shí)間:2020-06-25 15:42:10 來(lái)源:網(wǎng)絡(luò) 閱讀:797 作者:15235125653 欄目:web開(kāi)發(fā)

今天遇到了jmobile中綁定事件的問(wèn)題,

參考:http://liyunpeng.iteye.com/blog/1964165

對(duì)頁(yè)面中的綁定事件有了大概了解,不過(guò)這篇帖子年代久遠(yuǎn),很多不是很詳細(xì),特此記錄.

首先查到j(luò)mobile中的所有可以用.on()動(dòng)態(tài)綁定的所有事件,

詳情參考:http://www.runoob.com/jquerymobile/jquerymobile-ref-events.html

按以前的理解照抄,結(jié)果死活出不來(lái)效果,認(rèn)真查看示例發(fā)現(xiàn)需要加"pageinit"事件

$(document).on("pageinit","#pageone",function(){
  $("p").on("tap",function(){
    $(this).hide();
  });                       
});

大概解釋一下這幾句代碼,on的使用方式和jqeury一樣,中間的參數(shù)是子集選擇器,和jquery不一樣的是,單擊事件名字成了tap(敲擊),還有個(gè)vclick(虛擬化的 click 事件處理器),親測(cè)這2個(gè)事件效果是一樣,還有如下

scrollstart當(dāng)用戶開(kāi)始滾動(dòng)頁(yè)面時(shí)觸發(fā)。
scrollstop當(dāng)用戶停止?jié)L動(dòng)頁(yè)面時(shí)觸發(fā)。
swipe當(dāng)用戶在元素上水平滑動(dòng)時(shí)觸發(fā)。
swipeleft當(dāng)用戶從左劃過(guò)元素超過(guò) 30px 時(shí)觸發(fā)。
swiperight當(dāng)用戶從右劃過(guò)元素超過(guò) 30px 時(shí)觸發(fā)。
tap當(dāng)用戶敲擊某元素時(shí)觸發(fā)。
taphold當(dāng)元素敲擊某元素并保持一秒時(shí)觸發(fā)。
throttledresize啟用可標(biāo)記 #hash 歷史記錄
updatelayout由動(dòng)態(tài)顯示/隱藏內(nèi)容的 jQuery Mobile 組件觸發(fā)。
vclick虛擬化的 click 事件處理器
vmousecancel虛擬化的 mousecancel 事件處理器
vmousedown虛擬化的 mousedown 事件處理器
vmousemove虛擬化的 mousemove 事件處理器
vmouseout虛擬化的 mouseout 事件處理器
vmouseover虛擬化的 mouseover 事件處理器
vmouseup虛擬化的 mouseup 事件處理器

現(xiàn)在好了,可以完成自己的想法了;可是問(wèn)題又來(lái)了,在有些時(shí)候會(huì)發(fā)現(xiàn)單擊事件會(huì)觸發(fā)2次....繼續(xù)度娘,發(fā)現(xiàn)相同的情況好多,主要原因是頁(yè)面初始化事件么有解綁定,與on對(duì)應(yīng)的是off事件

參考:http://bbs.csdn.net/topics/390499499   完美解決

$(document).on("pageinit","#pageone",function(){
  $("p").on("tap",function(){
    $(this).hide();
  });                       
}).on("pageinit", "#page2", initPage2);

 

function initPage2(event) {

       $(document).off('pageinit', '#page2', initPage2);

        //在第二個(gè)頁(yè)面需要綁定的事件代碼

       alert("page2 init" + event.target.baseURI);

};

PS:在查閱相關(guān)文檔時(shí)發(fā)現(xiàn)個(gè)jmobile獨(dú)有的選擇器:jqmData,可以這樣用

alert( $(":jqmData(role='content')").length)

最后一句,充分說(shuō)明:我們不生產(chǎn)代碼,只是谷歌(被墻以后現(xiàn)在是度娘)的搬運(yùn)工~~


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI