当元素相互包含时,如何获得jquery的onClick事件
how to get jquery onClick event on elements when they contain eachother
我有一个包含表格的div
<div id="container">
<table id="data">
<tbody>
......
......
</table>
</div>
我已经将onclick事件绑定到表行上,这样如果用户单击一行,它就会高亮显示
$("#data tr").mouseup(function() {
$("tr.selected").removeClass("selected");// Deselect currently selected rows
$(this).addClass("selected");
});
现在,如果用户单击表外的某个位置,我想取消选择该行。问题是,如果我绑定点击事件与div,表和div得到回调…如何才能只获得div的回调?这样我就可以取消选择行!!我甚至尝试绑定onClick与body元素,但它似乎如果你绑定一个事件与一个元素,它里面的所有元素将得到回调。如果是这种情况,我如何取消选择行,然后如果用户点击表的边界以外。
这是由嵌套元素冒泡引起的。你可以使用
来阻止它$("div").click(function(e) {
if($(this).attr('id')=="data")
{
e.stopPropagation();
return;
}
$(".selected").removeClass("selected");
});
$("#data tr").mouseup(function() {
$("tr.selected").removeClass("selected");// Deselect currently selected rows
$(this).addClass("selected");
});
从:http://api.jquery.com/event.stopPropagation
相关文章:
- 优化javascript/jQuery以获得更好的性能
- jQuery无法获得顶级父级
- 使用jQuery未获得正确的类值
- 如何在Javascript/JQuery上获得一个PHP JSON编码的对象作为变量
- 如何从jquery中获得元素动态附加的完整表
- 如何使JQuery循环获得不同的图像
- 我们可以使用Jquery/Javascript获得所需格式的日期时间(7月24日)吗
- jQuery:如何获得正确的scrollRight值
- Javascript json jquery无法获得自定义属性值
- 如何在jquery中获得选中的复选框表值
- 试图在Jquery中获得两个日期之间的周数
- 输入类型文件OnChange不能在jquery中获得文件名
- 如何在java-script或jquery中获得网格视图视图标签值
- 如何在jQuery中获得元素(而不是目标)事件
- 如何在jquery中获得元素的第n个子元素
- 如何在jQuery中获得鼠标点击相对于视口的光标坐标
- 如何在Jquery上获得所有checkboxfor 39;的名称
- 如何在jQuery中获得PrimeFaces pfAjaxStart事件的源元素
- 如何在javascript或jquery中获得对象标签的持续时间
- 如何在jQuery中获得异常消息