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. Chapter 07-Basic statistics(Part1 描述统计数据)

    在这一部分中,仍然使用mtcars(Motor Trend Car Road Tests)这一数据集,以及mpg(one mile per gallon), hp(horsepower), wt(we ...

  2. Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载

    本文摘录于Chrome插件网站 方法一:拖放安装 下载插件的crx文件后,打开Chrome的扩展页面(chrome://extensions/或按Chrome菜单图标>更多工具>扩展程序) ...

  3. Stack Overflow上59万浏览量的提问:为什么会发生ArrayIndexOutOfBoundsException?

    在逛 Stack Overflow 的时候,发现了一些访问量像昆仑山一样高的问题,比如说这个:为什么会发生 ArrayIndexOutOfBoundsException?这样看似简单到不值得一问的问题 ...

  4. 一道题反映Java的类初始化过程

    Java的类初始化过程: 1. 父类的static成员变量,static语句块. 2. 子类的static成员变量,static语句块. 3. 父类的普通成员变量,构造函数. 4. 子类的普通成员变量 ...

  5. 洛谷 题解 P5534 【【XR-3】等差数列】

    我又双叒叕被包菜辣! 题目 这道题是不久前的考试题,现在来水一篇题解 扯回正题 题目很明显的告诉你了,这是一个等差数列, 然后,还告诉你了首项, 第二项, 项数. 你还想咋滴 告诉了你首项和第二项,相 ...

  6. 数据库Oracle和MySQL 的不同

    实例区别: MySQL是轻量型数据库,开源免费.Oracle收费,这个不是重点,,重点是它贵. MySQL一个实例可以操作多个库,而Oracle一个实例只能对应一个库. MySQL安装只有300多兆, ...

  7. CoderForces-913D

    You are preparing for an exam on scheduling theory. The exam will last for exactly Tmilliseconds and ...

  8. 拓展KMP分析

    拓展kmp是对KMP算法的扩展,它解决如下问题: 定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i ...

  9. Python计算IV值

    更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,python计算IV值的代码如下: ...

  10. unity3d 动态添加地面贴图 草地

    TerrainData.splatPrototypes = ]{ new SplatPrototype() { texture=Caodi, //Texture2D的贴图 normalMap=null ...