如何使用 JQuery 删除“ onclick”?

PHP 代码:

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

我想删除的 onclick="check($id,1),所以链接不能被点击或“ check($id,1)将不会被激发。我如何使用 JQuery 做到这一点?

289112 次浏览

老路 (pre-1.7) :

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

新方法 (1.7 +) :

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

(用所需的选择器替换...)

// 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>

I know this is quite old, but when a lost stranger finds this question looking for an answer (like I did) then this is the best way to do it, instead of using removeAttr():

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

引用 JQuery 官方的 doku:

”使用。RemoveAttr ()在 Internet Explorer 67或8中不能达到预期的效果。为了避免潜在的问题,请使用。而是螺旋桨()

如果您通过 ID 解除 onclick 事件的绑定,请尝试这样做,然后使用:

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

如果您通过 Class 解除 onclick 事件的绑定,请尝试这样做,然后使用:

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

在如此努力地尝试 bind、 unbind、 on、 off、 click、 attr、 RemoveAttr,道具之后,我让它工作了。 So, I have the following scenario: In my html i have NOT attached any inline onclick handlers.

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

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

为了在稍后从 Javascript 中删除这个代码,我使用了以下代码:

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

这就是我在 Javascript 中动态绑定和取消绑定单击事件的方法。记住不要在元素中插入任何内联 onclick 处理程序。

如果您使用的是 jquery 1.7

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

别的

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

如果 onclick 事件不是直接发生在元素上,而是发生在父元素上呢? 这应该会奏效:

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

使用 RemoveAttr 非常简单。

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

正在删除 onclick属性

假设您添加了内联的 click 事件,如下所示:

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

然后,您可以像下面这样删除事件:

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

删除 click事件侦听器

假设您通过定义一个事件侦听器来添加 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