Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-删除td';单击事件后单击它_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-删除td';单击事件后单击它

Javascript jQuery-删除td';单击事件后单击它,javascript,jquery,Javascript,Jquery,我将单击事件绑定到所有tds,如下所示: 如何在单击后从单击的td中删除特定的clickHandler。您可以尝试以下操作: $('td').toArray().forEach(td=>{ td=$(td); td.attr('onclick','alert(this.id'); }); $(文档)。在('click','td',函数(){ $(this.removeAttr('onclick'); }); 项目1 项目2 项目3 项目4 试试这个。不建议使用另一种方法,即不需要添加/删除

我将单击事件绑定到所有
td
s,如下所示:

如何在单击后从单击的
td
中删除特定的
clickHandler

您可以尝试以下操作:

$('td').toArray().forEach(td=>{
td=$(td);
td.attr('onclick','alert(this.id');
});
$(文档)。在('click','td',函数(){
$(this.removeAttr('onclick');
});

项目1
项目2
项目3
项目4

试试这个。不建议使用另一种方法,即不需要添加/删除
class
,也不需要修改
onclick
属性,因为不建议使用内联事件

我在这里所做的是绑定click事件的方式略有不同

您正在做的是
$(“#表”)。在(“单击”、“td”,clickHandler)
上,它将事件绑定到
#表
,并在单击时为
td
过滤它

现在我正在做的是
$(“#table td”)。在(“click”,clickHandler)
-它将事件绑定到
#table
中的所有
td
。因此,当点击事件发生时,对于特定的
td
点击可以通过
$(this.)关闭(“点击”)

$(文档).ready(函数(){
$(“#表td”)。在(“点击”,点击处理程序);
});
var clickHandler=函数(){
console.log(this);
$(此).off(“单击”);
}

项目1
项目2
项目3
项目4

如果您只想让每个表单元格都绑定一次单击事件,请使用
.one()

$(“td”).one(“单击”,函数(){
console.log($(this.text())
$(此).off(“单击”);
});

项目1
项目2
项目3
项目4

也许您可以使用off()方法:@TeutaKoraqi我尝试在函数clickHandler内部调用off,但它不起作用。您应该在函数外部调用它@TeutaKoraqi我想点击td,第一次点击后,移除处理程序。
$(document).ready(function(){
  $("#table").on("click","td",clickHandler);
});
$("td").one("click",function(){
    $(this).off("click");
});