2011-09-26 123 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"); 
    }); 
});