1.第一种,!$(event.target).is('input'),判断触发事件的元素是否为input。此时使用event.target,而不是this,获取事件本身,防止触发事件冒泡的问题。

$("#data_table tr").on("click",function (event) {
if (!$(event.target).is('input'))
{
$('input:checkbox', this).prop('checked', function (i, value) {
return !value;
});
}
})
注释:event.target属性的作用是获取到出发事件的元素。网上说使用event.target,在ie下可能会出现版本不兼容问题,我在ie11下进行测试,发现是可以的。所以应该是, jQuery对其封装后,避免了W3C、IE和safari浏览器不同标准的差异。若出现不兼容问题,可尝试使用如下方式。

  var thisEvent = window.event || event;
var targetEvent = thisEvent.srcElement;
if (!targetEvent) {
targetEvent = thisEvent.target;
}

2.第二种,跳过checkbox所在列。本次示例是位于第一列,因此给除第一个td之外的td绑定点击选中事件。

 
  //直接使用not("td:first-child"),或者设置第一列td类为.tdcolFirst,即.not(".tdcolFirst")。效果是一致的

$(".tr_check td").not("td:first-child").bind("click", function () {
$(this).parent().find("input:checkbox").prop('checked', function (i, value) {
return !value;
});
})  

3.event下的部分常用属性或方法:

方法/属性
类型
作用
 event.preventDefault()   
    
方法
阻止默认的事件行为。
 event.stopPropagation()
方法
阻止事件的冒泡。
event.type
属性
返回当前触发事件的事件类型。
 event.target
属性
获取执行事件【出发事件】的元素。
event.relatedTarget
属性
返回当触发时,该事件所涉及到的其他dom元素。
event.pageX/event.pageY
属性
获取光标相对页面的x坐标和y坐标。
event.which
属性
鼠标单击事件中,获取鼠标的左、中、右键,在键盘事件中获取键盘所在按钮。1 鼠标左键 2 鼠标中键 3 鼠标右键
event.originalEvent
属性
指向原始的事件对象。
 
 
 

jquery 点击tr选中checkbox,解决checkbox的默认点击事件被阻止的问题的更多相关文章

  1. juey点击tr选中里面的radio

    //点击一行选中银行卡 $("tr").bind("click",function(){ $("input:radio").attr(&qu ...

  2. Vue -- element-ui el-table 点击tr项页面跳转,返回后缓存回显点击项

    页面跳转反显(点击项,点击table滚动的位置,搜索条件,分页回显) 点击table tr项后,页面跳转到下级页面,返回回显搜索条件.当前页码.并将点击项select选中.滚动条也被记录回显跳转时滚动 ...

  3. 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态

    给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给c ...

  4. 点击itemView选中checkbox

    在Listview中如果item中含有checkbox会使itemview的setonitemchecklistingner失效,我们可以通过设置checkbox的clickbale的值为false来 ...

  5. jquery选中radio或checkbox的正确姿势

    jquery选中radio或checkbox的正确姿势 Intro 前几天突然遇到一个问题,没有任何征兆的..,jquery 选中radio button单选框时,一直没有办法选中,后来查了许多资料, ...

  6. jQuery把所有被选中的checkbox的某个属性值连接成字符串

    有这样的一个需求:对于一组checkbox,当点击每个checkbox后,把当前处于选中状态的checkbox的某个属性值取出来连接成字符串,并以逗号分开. html部分: <input typ ...

  7. 点击文字可以选中相应的checkbox

    <html><head><title>中国站长天空-网页特效-表单特效-点击文字选中的复选框</title><meta http-equiv=&q ...

  8. 点击文本选中checkbox

    <checbox文本编辑/>      : 只点击checkbox时,才可以选中,点击文本时无法选中 <label><checbox文本编辑/></label ...

  9. checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中

     checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中 <!DOCTYPE html> <html lang=" ...

随机推荐

  1. 微信小程序setData复杂数组的更新、删除、添加、拼接

    众所周知,微信小程序里所有对数据的修改只有在setData里修改才会在页面上渲染.在此分享小程序里复杂数组的更新.删除.添加.拼接 初始数据 数组嵌套对象 data: { cartList = [{ ...

  2. MySQL的5种时间类型的比较

    日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 23 ...

  3. Centos Linux下使用Metasploit渗透android

    .newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .b ...

  4. Python使用itchat获取微信好友信息~

    最近发现了一个好玩的包itchat,通过调用微信网页版的接口实现收发消息,获取好友信息等一些功能,各位可以移步itchat项目介绍查看详细信息. 目标: 获取好友列表 统计性别及城市分布 根据好友签名 ...

  5. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: REFERENCES command denied to user 'nali'@'localhost' for table 'dbs'

    按照教程 Install hive on Mac with Homebrew,在 mac 上安装 Hive 时, 最后执行 hive 命令后,出现错误: Exception in thread &qu ...

  6. MD5、公钥、私钥、加密、认证

    MD5 MD5的全称是Message-Digest Algorithm 5. MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法. 换句话说就是,即使你看到 ...

  7. C++ 并发编程指南(收藏笔记)

    git地址: https://github.com/forhappy/Cplusplus-Concurrency-In-Practice https://github.com/forhappy/Cpl ...

  8. Prometheus启动失败的问题

    1.yml文件格式错误 Prometheus是开箱即用的,但是我们用的时候因为新增监控项,所以我们需要修改配置文件.改了之后启动不了的话,第一件事就要想的是yaml文件的格式问题. yaml中允许表示 ...

  9. 【JS】370- 总结异步编程的六种方式

    点击上方"前端自习课"关注,学习起来~ 作者:Aima https://segmentfault.com/a/1190000019188824 众所周知 JavaScript 是  ...

  10. 【JS】369- 20个常用的JavaScript字符串方法

    点击上方"前端自习课"关注,学习起来~ 作者:前端小智 https://segmentfault.com/a/1190000020204425 本文主要介绍一些最常用的JS字符串函 ...