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 做到这一点?
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() 删除内联 onclick 事件处理程序在 Internet Explorer 6、7 或 8 中无法达到预期效果。为避免潜在问题,请改用 .prop()”
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
如果您使用的是 jquery 1.7
$('html').off('click');
别的
$('html').unbind('click');
使用 removeAttr 非常容易。
$(element).removeAttr("onclick");
在用 bind、unbind、on、off、click、attr、removeAttr、prop 努力尝试之后,我让它工作了。所以,我有以下情况:在我的 html 中,我没有附加任何内联 onclick 处理程序。
然后在我的 Javascript 中,我使用以下内容添加了一个内联 onclick 处理程序:
$(element).attr('onclick','myFunction()');
为了稍后从 Javascript 中删除它,我使用了以下内容:
$(element).prop('onclick',null);
这就是我在 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');
如果您通过 Class 取消绑定 onclick 事件,请尝试此操作然后使用:
$('.className').attr('onclick','').unbind('click');