【发布时间】:2012-02-24 08:03:41
【问题描述】:
我有一个带有表格的 Jquery Mobile 网站。表格行包括第一个单元格中的复选框。
我想突出显示行,当
a) 用户点击一行
b) 用户选中复选框
我已经成功完成了大部分工作 (credits),但还剩下一个问题。
问题:
如果单击复选框,则仅突出显示该行,并且无法选中该复选框。我认为这是因为 event.target.type !== 'checkbox' 不适用于 Jquery Mobile,因为如果我单击复选框,我会单击 span.ui-图标 而不是实际的输入:复选框。
所以我正在寻找某种方法来检测用户是否点击了 span.ui-icon 与复选框。
这是一个显示问题的 Jfiddle - http://jsfiddle.net/qQQ2X/
还有jquery代码:
var initRow = initRow = $('.tbl_orders tbody tr');
initRow.has('th input:checkbox:checked').addClass('row_selected ui-btn-hover-e').removeClass("ui-btn-up-b").end().bind('click', function(event) {
$(this).hasClass('row_selected') ? $(this).addClass("ui-btn-up-b").removeClass('row_selected ui-btn-hover-e') : $(this).addClass('row_selected ui-btn-hover-e').removeClass("ui-btn-up-b");
if (event.target.type !== 'checkbox') {
$(this).find('th input:checkbox', this).attr('checked', function() {
return !this.checked;
}).checkboxradio("refresh");
}
});
感谢您的帮助!
【问题讨论】:
标签: javascript jquery events jquery-mobile checkbox