如何删除“onclick”与JQuery?

php代码:

<a id="a$id" onclick="check($id,1)" href="javascript:void(0)" class="black">Qualify</a> 

如何删除onclick="check($id,1)所以”Qualify“不能被点击或者” check($id,1)不会被触发。 如何与JQuery做到这一点?

老路 (前1.7):

 $('...').attr('onclick','').unbind('click'); 

新方法 (1.7+):

 $('...').prop('onclick',null).off('click'); 

(用你需要的select器replace…)

 // use the "[attr=value]" syntax to avoid syntax errors with special characters (like "$") $('[id="a$id"]').prop('onclick',null).off('click'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <a id="a$id" onclick="alert('get rid of this')" href="javascript:void(0)" class="black">Qualify</a> 

我知道这是相当古老的,但是当一个失落的陌生人发现这个问题寻找答案(就像我做的那样),那么这是做到这一点的最好方法,而不是使用removeAttr():

 $element.prop("onclick", null); 

引用jQuerys官方doku :

“使用.removeAttr()删除内联onclick事件处理程序在Internet Explorer 6,7或8中无法达到预期的效果。为避免潜在的问题,请使用.prop()而不是”

如果你正在使用jQuery 1.7

 $('html').off('click'); 

其他

 $('html').unbind('click'); 

尝试这么辛苦与绑定,解除绑定,closures,点击,attr,removeAttr,道具我让它的工作。 所以,我有以下情况:在我的HTML我没有附加任何内联onclick处理程序。

然后在我的Javascript中,我使用以下内容添加一个内联onclick处理程序:

 $(element).attr('onclick','myFunction()'); 

要在以后从Javascript中删除这个,我使用了下面的代码:

 $(element).prop('onclick',null); 

这是它的工作方式,我在Javascript中绑定和解除绑定点击事件dinamically。 请记住不要在元素中插入任何内联onclick处理程序。

删除onclick属性

假设你添加了你的click事件,如下所示:

 <button id="myButton" onclick="alert('test')">Married</button> 

然后,你可以像这样删除事件:

 $("#myButton").prop('onclick', null); // Removes 'onclick' property if found 

删除click事件监听器

假设你通过定义一个事件监听器来添加你的点击事件,如下所示:

 $("button").on("click", function() { alert("clicked!"); }); 

…或者像这样:

 $("button").click(function() { alert("clicked!"); }); 

然后,你可以像这样删除事件:

 $("#myButton").off('click'); // Removes other events if found 

删除两个

如果您不确定您的活动是如何添加的,则可以将两者结合起来,如下所示:

 $("#myButton").prop('onclick', null) // Removes 'onclick' property if found .off('click'); // Removes other events if found 

使用removeAttr非常简单。

 $(element).removeAttr("onclick"); 

如果onclick事件不是直接在元素上,而是从父元素? 这应该工作:

 $(".noclick").attr('onclick','').unbind('click'); $(".noclick").click(function(e){ e.preventDefault(); e.stopPropagation(); return false; }); 

如果你通过ID解除onclick事件,试试这个然后使用:

 $('#youLinkID').attr('onclick','').unbind('click'); 

如果你通过Class解绑定onclick事件,试试这个然后使用:

 $('.className').attr('onclick','').unbind('click');