【发布时间】:2013-09-25 20:13:12
【问题描述】:
当 selectAll 复选框被点击时,onChange() 事件被触发两次。
这只发生在装有 Gingerbread(2.3) 的 Android 设备上。在其他设备和桌面浏览器上,该事件仅触发一次。
这是我正在使用的脚本。
/* Check-Uncheck */
self.elements.listview.on('change', ':checkbox', function (event) {
var unchecked = $(':checkbox:not(:checked)', self.elements.listview);
self.elements.selectAll
.prop('checked', unchecked.length === 0)
.checkboxradio("refresh");
});
/* Check-Uncheck 'Select All' */
self.elements.selectAll.change(function () {
var checkboxes = $(':checkbox', self.elements.listview);
var checked = self.elements.selectAll.is(':checked');
checkboxes
.prop('checked', checked)
.checkboxradio("refresh");
});
如果有人遇到过这个问题,或者有任何建议,请告诉我。
谢谢
【问题讨论】:
-
尝试
.off('change').on('change', function ()....编辑:也将这个self.elements.selectAll.change(function () {替换为.on('change')就像在检查取消检查代码一样。
标签: android jquery jquery-mobile checkbox android-2.3-gingerbread