我在使用JQuery解除绑定事件时遇到问题。
$(document).ready(function() {
$('#tdMinPriceOnNonStop0').unbind("click");
});
它不起作用..
<td class="tddat matrixCellHt" align="center" onclick='javascript:DoHighlighting("tdMinPriceOnNonStop",<%#Container.ItemIndex%>);FilterResults("SingleAirlineParticularStop","0&<%#((string)DataBinder.Eval(Container.DataItem, "AirlineDisplayName"))%>")' id="tdMinPriceOnNonStop<%# Container.ItemIndex %>"
答案 0 :(得分:1)
这不是强制性的,但你应该提供你想解开的处理程序:
function doStuff(){
//doing stuff
}
$('#tdMinPriceOnNonStop0').bind("click",doStuff);
//then
$('#tdMinPriceOnNonStop0').unbind("click",doStuff);
答案 1 :(得分:1)
去寻找
$('#tdMinPriceOnNonStop0').removeProp("onclick").removeAttr("onclick");
因为事件处理程序直接存储在元素的属性中,而不是存储在jQuery的$ .data对象中(jQuery存储其所有处理程序),所以不能使用jQuery的unbind方法(removeProp删除已编译的处理程序.removeAttr不是严格的必要的,但它也删除了实际属性(字符串“javascript:...”)以获得更大的一致性。
答案 2 :(得分:0)
你可以unbind()
之前只附加bind()
的处理程序(使用jQuery 1.7+,你应该分别使用off()
和on()
如果这不是场景,只需简单地销毁在普通javascript中为该元素定义的任何点击处理程序
$(document).ready(function() {
document.getElementById('tdMinPriceOnNonStop0').click = function() { };
});