2

我想删除onclick特定tr..下的所有 s

例如,

前:

<tr id="current">
   <td onclick="foo();"></td>
   <td onclick="foo();"><div onclick="abc();"></div></td>
   <td onclick="foo();"></td>
   <td onclick="foo();"></td>
</tr>

后:

<tr id="current">
   <td></td>
   <td><div></div></td>
   <td></td>
   <td></td>
</tr>

我想我必须做类似的事情:

$("#current td").each(function() {
   $(this).removeAttr('onclick');
});

$("#current td div").each(function() {
   $(this).removeAttr('onclick');
});

但也许还有另一种选择。

4

5 回答 5

5

使用.off()

$("#current").find("*").off(); 

find("*")将找到#current. 这足以删除所有 onclick 事件(<td><div>)。

于 2013-10-17T12:56:58.793 回答
2

使用unbind()从元素中删除附加的事件处理程序。

$( "#current td").unbind( "click" );
于 2013-10-17T12:58:23.190 回答
2

尝试将onclick属性设置为空字符串:

$("#current td").attr("onclick",""); 
于 2013-10-17T12:59:31.807 回答
1

尝试这个:

$("#current td").prop("disabled",true);
于 2013-10-17T13:00:31.350 回答
1

尝试这个

$("#current").each(function() {
   $(this).unbind("click");
});  

参考

于 2013-10-17T12:59:13.480 回答