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做呢?

有帮助吗?

解决方案

<强>老方法(预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>

其他提示

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

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

jQuerys官方铜工:

  

“卸下使用.removeAttr()不会实现在因特网所需的效果浏览器6,7或8。为了避免潜在的问题,使用.prop()代替内嵌onClick事件处理”

如果你正在使用jquery 1.7

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

否则

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

卸下onclick属性

假设你添加点击事件内联,这样的:

<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");

使用绑定如此努力,解除绑定,之后,关,单击,ATTR,removeAttr,托我做了它的工作。 所以,我有以下情形:在我的HTML我还没有附加任何内联onclick处理。

然后在我的Javascript我用下面添加一个内联onclick处理:

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

要在从Javascript稍后删除此我使用了以下内容:

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

这是它为我工作结合和dinamically在Javascript中解除绑定点击事件的方式。切记不要将任何内联onclick处理程序中的元素。

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

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

尝试此如果解除绑定由ID onclick事件然后使用:

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

尝试此如果解除绑定由类onclick事件然后使用:

$('.className').attr('onclick','').unbind('click');
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top