问题:
表格设置点击数据勾选checkbox,实现如下:
<%--HTML--%>
<table>
<tr onclick="operateCurrent(this)" >
<td><input type="checkbox" name="checkboxs" id="checkboxs"/></td>
<td>aaaa</td>
<td>bbb</td>
</tr>
</table>
<script language="javascript">
var operateCurrent = function(checkbox){
$(checkbox).checked = !$(checkbox).checked;
}
</script>
实现了点击数据选中,But 点击CheckBox的时候,闪一下选中,然后变回未选中状态。
原因:
点击CheckBox时input的冒泡事件+operateCurrent 方法处理了两次,出现了闪一下选中,然后变回未选中状态。
解决:
1、添加判断input是否获取焦点(适用):
var operateCurrent = function(checkbox){
if(!$(checkbox).is(":focus")){
$(checkbox).checked = !$(checkbox).checked;
}
}
2、阻止冒泡事件(网上查的,对于页面加载之后动态生成的模块不适用)
$("'#checkbox']").click(function(e){
e.stopPropagation();
});