JQuery Mobile选择菜单更改事件多次触发

时间:2011-09-26 13:17:09

标签: jquery-mobile jquery

我有一个JQuery Mobile Multi-Page layout,我希望在我网站上的选择菜单发生变化时触发一个功能。

目前当菜单被更改时,三个事件都会触发。

我已经把an example放在一起,可以告诉你我面对的是什么。

  1. 从主菜单中单击 Web设置
  2. 更改页面上的主题选项 注意三个警报
  3. 这是我注册活动的代码

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

    我尝试过的事情:

    • data-native-menu="false"更改为true删除了其中一项活动。
    • 删除了除 网络设置 之外的所有其他页面,这也减少了触发的事件数量为2。
    • 在JSFiddle中,框架选项> Head(nowrap)改为DomReady也删除了一个事件火。

    更新
    每次页面“首次查看”时都会触发pagecreate,并且在加载主页时会触发两次。{1}}
    因此,当加载设置页面时,事件已被绑定三次..仍然没有解决方案。

1 个答案:

答案 0 :(得分: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");
    });
});