gpt4 book ai didi

jquery - 如何覆盖行上的点击?

转载 作者:行者123 更新时间:2023-12-01 08:12:32 24 4
gpt4 key购买 nike

我有一个表,每一行都分配了一个唯一的 ID,这样我就可以单击该行,使用 jquery 抓取它并编辑该行的数据。为了方便起见,我喜欢单击整行,这让用户更容易......

在最后一列中,我有一个 X,我希望能够单击它来删除该行。同样,它有一个唯一的 ID,因此我可以识别每一行。我的 jquery 看起来像这样..

    $('.delrow').click(function(e) {
e.preventDefault();
var id = $(this).attr('id');
id = id.substr(3);
if (confirm('Are you sure you want to delete this row?')) {
$.ajax({
url: "/rowdelete/?delid="+id,
success: function(data)
{
location.href="/";
}
});
} else {
return false;
}

});

这应该删除该行然后返回主页。它的作用是删除该行,然后继续进入我的编辑模块,行 ID 为 null,因为行单击的默认操作就是执行此操作。我认为此时 PreventDefault 仅适用于表单操作,因此在这种情况下不起作用。如何覆盖默认的行单击操作?

谢谢!

最佳答案

而不是 e.preventDefault() ,使用e.stopPropagation() 。简单。

编辑:既然我不使用手机接听,我想我应该补充一点。停止传播可能会进一步产生不良影响。例如,如果您想将事件添加到 $(window).click() 该怎么办? ?停止传播后,如果用户单击x,则不会触发此事件。 。 IMO 更好的方法是这样的:

$('.row').click(function (event) {
if ($(event.target).hasClass('delrow')) {
return false;
}
// edit row
});

然后您可以将您的事件添加到 x元素。如果您愿意,您也可以将事件放在 if 语句中...这是一个偏好问题。

关于jquery - 如何覆盖行上的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com