我正在使用data-native-menu="false"
<div data-role="page" id="page">
<div data-role="fieldcontain">
<label for="selectbox">Basic:</label>
<select name="selectbox" id="selectbox" data-native-menu="false">
<option value="1">The 1st Option</option>
<option value="2">The 2nd Option</option>
<option value="3">The 3rd Option</option>
<option value="4">The 4th Option</option>
</select>
</div>
</div>
并触发以下事件
$(document).on("pageinit", function () {
$("#page").on("change", "#selectbox", function () {
console.log(Date.now());
});
});
然而,该事件被解雇了两次。
使用data-native-menu="true"
一切正常。
我想这与selectmenu的弹出窗口有关。
演示在这里http://jsfiddle.net/qL8SP/
有解决方法吗?
感谢。
答案 0 :(得分:0)
您将change
事件绑定到任何页面,您必须将其绑定到#page
。每当启动页面时,它都会触发pageinit
,因此会将change
事件绑定到#selectbox
两次。
$(document).on("pageinit", "#page",function () {
console.log(Date.now()); // will trigger one time only
$("#selectbox").on("change", function () {
console.log(Date.now()); // will trigger when you select a value
});
});
<强> Demo 强>