簡體   English   中英

jquery / jquery-mobile-如何將每個元素觸發一個函數,並將元素添加到DOM

[英]jquery/jquery-mobile - how to fire a function once per element, with elements being added to DOM

我需要在某些觸發器元素上觸發插件。

我正在使用這個:

$( ':jqmData(role="page"):jqmData(trig="true")' ).live( 'pagebeforeshow',function(e){
   console.log("detected");
   // stuff to do...
   });

由於這是我的背景頁面(DOM中的第一個),用火它在每一個過渡, 一個更換現場只觸發它最初的觸發因素上,而不是在被拉到第二個元素。

問題:如何設置一個功能“對觸發元素有效,但每個發現的觸發元素僅運行一次”? 設置數據標志會有所幫助嗎?

感謝您的信息!

設置一個變量,用於存儲觸發器是否已處理。 使用此變量作為條件觸發器,以確保它僅運行一次。 當您知道觸發器可以再次運行時,將其重置。

我的難題是您必須使用.live() ,因為最初在DOM中只有1個匹配元素,而不是它們如何排序? 否則, .one()應該可以正常工作。 手冊中有一個很好的示例,說明了如何使用.bind()實現.one() ,這是使用.live() ,它應該可以解決這個問題:

function preparePage(e) {
    $(this).die('pagebeforeshow', preparePage);
    console.log("detected");
    // stuff to do...
}

$(':jqmData(role="page"):jqmData(trig="true")').live('pagebeforeshow', preparePage);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM