JQM后来提到翻转开关不会对事件做出反应

时间:2014-05-19 12:33:17

标签: javascript jquery jquery-mobile

我在前面加上这段代码:

        <li data-role="fieldcontain">
            <label for="test">Test</label>
            <select class="marktplaatsenSwitch" id="test" data-role="slider" name="test">
                <option value="off">OFF</option>
                <option '+selected+'value="on">ON</option>
            </select>
        </li>

带有id&#34;设置&#34;

的ul内部

当我打电话给你时

    $( ".marktplaatsenSwitch" ).on( "change", function(event, ui) {
        alert("Test");
    });

它没有对它作出反应。但是当我已经在ul里面的时候它确实有效。我需要做一些刷新吗?我已经尝试过listview("refresh")selectMenu("refresh", true)

1 个答案:

答案 0 :(得分:3)

不要使用:

$( ".marktplaatsenSwitch" ).on( "change", function(event, ui) {
        alert("Test");
});

正确的jQuery语法是(如果你想访问动态创建的事件):

$(document).on( "change", ".marktplaatsenSwitch",function(event, ui) {
        alert("Test");
});

这种事件绑定方式称为委托绑定,如果元素存在或不存在于DOM内,它不会卡。