2011-09-26 133 views
0

我有一個JQuery Mobile Multi-Page layout,我想在我的站點上的選擇菜單發生更改時觸發某個功能。JQuery Mobile選擇菜單更改事件觸發多次

當前菜單發生變化時,有三個事件觸發。

我已經放在一起an example應該告訴你我面臨着什麼。

  1. 從主菜單中單擊Web設置
  2. 更改頁面上的主題選項
    注意三個警報

這裏是我的代碼註冊事件

$(document).bind("pagecreate", function() { 
    $("#settings-theme").bind("change", function(event) { 
     alert(event.target); 
    }); 
}); 

事情我已經嘗試:

  • 改變data-native-menu="false"true刪除的事件生火之一。
  • 刪除了所有其他除了網絡設置,並且也降低了事件發射兩個數。
  • 在JSFiddle中,框架選項>頭(nowrap)更改爲DomReady也刪除了事件觸發器。

更新
看來,pagecreate觸發每次頁是「第一」觀察時,網頁加載,以及兩次。
因此,加載設置頁面時,事件綁定了三次..仍然沒有解決方案。

回答

1
$(document).bind("ready", function() { 
    $("#settings-theme").live("change", function() { 
     alert("changed"); 
    }); 
}); 

$(document).bind("ready", function() { 
    $("#pg-settings").delegate("#settings-theme", "change", function() { 
     alert("changed"); 
    }); 
});