Ste*_*ven 91 jquery attributes event-handling jquery-events
PHP代码:
<a id="a$id" onclick="check($id,1)" href="javascript:void(0)" class="black">Qualify</a>
Run Code Online (Sandbox Code Playgroud)
我想删除onclick="check($id,1)所以无法点击链接或" check($id,1)不会被解雇.我怎么能用JQuery做到这一点?
glm*_*ndr 224
旧路(1.7之前):
$("...").attr("onclick", "").unbind("click");
Run Code Online (Sandbox Code Playgroud)
新方式(1.7+):
$("...").prop("onclick", null).off("click");
Run Code Online (Sandbox Code Playgroud)
(用您需要的选择器替换...)
// use the "[attr=value]" syntax to avoid syntax errors with special characters (like "$")
$('[id="a$id"]').prop('onclick',null).off('click');Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
acm*_*cme 57
我知道这已经很老了,但是当一个迷路的陌生人发现这个问题寻找答案时(就像我一样)那么这是最好的方法,而不是使用removeAttr():
$element.prop("onclick", null);
Run Code Online (Sandbox Code Playgroud)
"使用.removeAttr()删除内联onclick事件处理程序无法在Internet Explorer 6,7或8中实现所需的效果.为避免潜在问题,请使用.prop()代替"
Jay*_*dav 17
如果您使用的是jquery 1.7
$('html').off('click');
Run Code Online (Sandbox Code Playgroud)
其他
$('html').unbind('click');
Run Code Online (Sandbox Code Playgroud)
Joh*_*ers 16
onclick属性假设您添加了内联的click事件,如下所示:
<button id="myButton" onclick="alert('test')">Married</button>
Run Code Online (Sandbox Code Playgroud)
然后,您可以删除这样的事件:
$("#myButton").prop('onclick', null); // Removes 'onclick' property if found
Run Code Online (Sandbox Code Playgroud)
click事件侦听器假设您通过定义事件侦听器添加了click事件,如下所示:
$("button").on("click", function() { alert("clicked!"); });
Run Code Online (Sandbox Code Playgroud)
......或者像这样:
$("button").click(function() { alert("clicked!"); });
Run Code Online (Sandbox Code Playgroud)
然后,您可以删除这样的事件:
$("#myButton").off('click'); // Removes other events if found
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何添加活动,可以将两者结合使用,如下所示:
$("#myButton").prop('onclick', null) // Removes 'onclick' property if found
.off('click'); // Removes other events if found
Run Code Online (Sandbox Code Playgroud)
在尝试使用bind,unbind,on,off,click,attr,removeAttr,prop之后我努力工作了.所以,我有以下场景:在我的HTML中我没有附加任何内联onclick处理程序.
然后在我的Javascript中,我使用以下内容添加内联onclick处理程序:
$(element).attr('onclick','myFunction()');
Run Code Online (Sandbox Code Playgroud)
要在以后从Javascript中删除它,我使用以下内容:
$(element).prop('onclick',null);
Run Code Online (Sandbox Code Playgroud)
这是我在Javascript中以动态方式绑定和取消绑定点击事件的方式.切记不要在元素中插入任何内联的onclick处理程序.