我有一个函数,允许用户通过打开模态中的数据来编辑表中的行。现在,整行将触发模态。我想要的是隔离包含一个链接的最后一个td,该链接触发一个准备处理数据的函数。
当点击最后一个td时,会发生模态打开并且就绪功能触发。我试图阻止模态开启。
我还在表的每一行上突出显示鼠标悬停行。
这就是我将表行与模态函数关联的方式:
$("#table").find("tr").click(function(e) {
//code to open model
}
这是我解雇就绪功能的方法:
$("#table tr td:last-child a").click(function(e) {
//code to open model
}
答案 0 :(得分:1)
只需添加“return false;
”:
$("#table tr td:last-child a").click(function(e) {
// whatever should happen when clicking the anchor
return false;
}
这可以防止事件传播到周围的tr
。
答案 1 :(得分:1)
我相信你需要调用e.stopPropogation()来防止事件传播:
$("#table tr td:last-child a").click(function(e) {
//code to open model
e.stopPropagation();
return false;
}
<强>解释强>:
事件从最“特定”的元素传播到父母。这称为冒泡,在这种情况下,您的第二个模态被触发,因为click事件从A元素冒泡到TR元素。
我相信所有事件都会传播并冒泡。返回false只是取消A元素的默认操作,即跟随链接...它不会停止事件对象。
这是整个事情的good explanation。
答案 2 :(得分:0)
为什么不在表中任何行的最后一个单元格中找到链接,只需为链接指定一个id或类
喜欢......
然后从css中添加display:block属性,使锚点填充它所包含的整个区域。
然后简单地
$('.anchorclass').click(function(){
//在这里做点什么
});