防止点击复选框时触发TD点击
Prevent TD onclick from firing if a checkbox is clicked?
我有一个点击事件来做这个事情:
$('table tbody td').click( function (e) {
// How to check if checkbox was clicked before doing the alert below?
alert("td clicked");
}
但是在我的表格中,我有一些带有复选框的 td,单击这些复选框会导致事件触发。有没有办法在 Jquery 中指定以检查 td 内的点击是否在复选框上并且不发出警报?
你可以告诉jQuery停止复选框将事件从你的checkbox
传播到你的td
$('table tbody td input[type=checkbox]').click( function (e) {
// How to check if checkbox was clicked before doing the alert below?
e.stopPropagation();
}
基本上发生这种情况是因为当您单击checkbox
时,浏览器会将该click
事件从复选框冒泡到复选框的父级,然后一直上升到document
,上面的代码基本上停止了从复选框传播。
在活动冒泡时阅读
这假定有问题的复选框与可单击单元格位于同一表格行上。
$('table tbody td').click( function (e) {
if(!$(this).parent().find(':checkbox').prop("checked"))
return;
alert("td clicked");
}
您可以使用传递给单击函数的事件对象来查找目标,并使用它来决定要执行的操作:
$("table tbody td").click(function(e){
if(e.target.nodeName.toUpperCase() == "INPUT"){
alert("It's an input!");
}else{
alert("It's not an input!");
}
});
相关文章:
- 改变所有<td>为特定的桌子点击颜色
- 当我点击Hospitails的td时,如何调用ul列表
- 如何在点击tr的td后获取tr的id's元素
- 事件点击不在td元素中的多个锚点标记上处理同一个类
- 点击TD更改TD CSS
- 正在更改<td>点击javascript
- 如何在动态点击TR列中获取TR的第二个TD
- 当我点击td时,在jquery中获取td文本动态
- 防止点击复选框时触发TD点击
- 删除TD标签中的点击
- jQuery DataTable-点击获取最接近td元素的类
- 数据表点击td或td内的(链接)
- 如何根据点击事件从特定TD获得价值
- Angularjs-点击<td>要素
- 通过id点击更改td表背景
- 检查THIS是否点击了TD's的值与数组的值匹配
- 如何在<tr>当点击<td>指向javascript函数
- JQuery如何获取第二和第三TD内容取决于第四TD点击
- 选择单选按钮上的TD点击,同时添加类的活动TD
- JQuery警告TD点击