我将这段代码放在前面:

        <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为“设置”的ul内部

当我叫这个

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


它对此没有反应。但是当我已经在ul里面有了li时,它确实可以工作。我需要刷新吗?我已经尝试过listview("refresh")selectMenu("refresh", true)

最佳答案

不要使用:

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


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

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


这种事件绑定的方式称为委托绑定,它不会在DOM中存在元素或不存在元素的情况下发出提示。

07-24 09:44
查看更多