gpt4 book ai didi

jquery - 将 jQuery off() 应用于一个表列

转载 作者:行者123 更新时间:2023-12-01 04:17:17 25 4
gpt4 key购买 nike

我将 jQuery on() 应用于每个表行。用户单击任意行后,另一个页面开始加载:

table_tag.on("click", "tbody tr", function(event) {                
var search_id = datatable.fnGetData(this)[0];
if(event.ctrlKey) {
window.open("/search/"+search_id+"/");
} else {
window.location.assign("/search/"+search_id+"/");
}
});

我向表中添加了一个新列。它的每个单元格只有一个复选框:

<td><input type="checkbox" /></td>

我需要防止用户单击此复选框后加载另一个页面。我试过这个:

table_tag.off("click", "tbody tr td input:parent")

但是它不起作用。我怎样才能做到这一点?

最佳答案

“tbody tr td input:parent”上没有处理程序。您只有一个处理程序,位于 "tbody tr" 上。

相反,要更加小心您绑定(bind)的内容:“tbody tr :not(input:checkbox)” 应该会更好。

编辑:正如popnoodles所说,问题不清楚。上面的内容是为了防止用户单击复选框时加载新页面(否则我认为该复选框有点无用)。如果您的目的是在单击设置了复选框的行时禁止打开新页面(这是我可以看到的问题的另一种解释),则将上述补丁应用到您的选择器,此外还从内部检查复选框状态处理程序。

EDIT2:存在缺少冒号的错误; not(...) 不正确,应该是 :not(...)

编辑太多:Fiddle ,使用tbody tr td:not(:has(input:checkbox))

关于jquery - 将 jQuery off() 应用于一个表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13851089/

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