点击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");
});
如果有人遇到过这个问题,或者有任何建议,请告诉我。
由于
答案 0 :(得分:0)
var lockCheck = false;
//in onchange code of both functions:
if(lockCheck){
lockCheck = false;
return;
}
lockCheck = true;
[编辑] ......好吧......或奥马尔的建议:)