如何删除“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');