Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery:Remove";OnClick";来自'的事件;a';标签_Jquery - Fatal编程技术网

JQuery:Remove";OnClick";来自'的事件;a';标签

JQuery:Remove";OnClick";来自'的事件;a';标签,jquery,Jquery,这是一个奇怪的问题。我们的内部网上有一些生产链接。一些胭脂javascript在我们的内部网主页上的所有链接上返回“false” 我们无法访问源代码来重新构建控件并修复此javascript 所以,作为一个临时的创可贴,我想用jQuery 在链接上移动所有的“点击”事件。 现在的链接如下所示: <a href="https://www.mysite.com/" onclick="AddHit('Header: mysite.com', 'http://www.mysite.com'); r

这是一个奇怪的问题。我们的内部网上有一些生产链接。一些胭脂javascript在我们的内部网主页上的所有链接上返回“false”

我们无法访问源代码来重新构建控件并修复此javascript

所以,作为一个临时的创可贴,我想用jQuery

在链接上移动所有的“点击”事件。 现在的链接如下所示:

<a href="https://www.mysite.com/" onclick="AddHit('Header: mysite.com', 'http://www.mysite.com'); return false;" title="Mysite Home">www.Mysite.com</a>


我想编写一些jquery来使用“onclick='AddHit…”代码。

从所有具有该属性的链接中删除该属性:

$('a[onclick]').removeAttr('onclick');
使用
.unbind()
方法或
off()
来摆脱此问题。

您可以尝试以下方法:

$("a").removeAttr("onclick");
编辑根据评论更新答案,并:

注意:在Internet Explorer 6、7或8中,使用.removeAttr()删除内联onclick事件处理程序无法达到预期效果。要避免潜在问题,请改用.prop()

最好的方法是:

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

你可以这样做

$('a[onclick]').removeAttr('onclick');

未测试,但我认为这应该有效:

$(document).ready(function(){
    $('a').removeAttr("OnClick");
});
更多信息:


这将删除所有这些链接,但您希望确保不会从不需要的链接中删除它们。很多东西都会钩住onclick属性,如果您有一个类可以在删除之前验证,或者onclick的内容,那就更好了。我不想看到整个网站停止工作,因为没有人打电话给我。这将使用onclick中的AddHit函数删除所有onclick,以确保您的安全。

这将删除所有链接的
onclick
属性,这些链接的
onclick
值以“
AddHit(
”(保留其他链接不变)开头


根据JQuery文档,您应该使用.prop()删除内联onclick,因为这样可以避免InternetExplorer6、7或8中的问题

试试这个

$element.prop("onclick", null);
我需要在第一次单击后删除标记的onclick,因此我所做的如下:

onclick="$(this).prop('onclick', null);"

如果您的“onclick”属性在线且处于类似于(引导)的模式中,希望它有助于您记住这一点

像这样:(在模态中)


我在同一页上搜索了几个小时…

:“使用
删除内联
onclick
事件处理程序。removeAttr()
在Internet Explorer 6、7或8中无法达到预期效果。若要避免潜在问题,请改用
.prop()
$element.prop(“onclick”,null);
”到目前为止,这是唯一正确的答案。使用jQuery,无论是
.removeAttr()
还是
.unbind()
都不会安全地删除某些版本的Internet Explorer中的内联
onclick
事件处理程序。请参阅,我相信这将删除通过jQuery或addEventListener()添加的事件处理程序但不是内联onClick事件处理程序。——JasperEven更好:$('…).prop('onClick',null)。off('click');Check看起来即使没有.off('click'),也可以正常工作。prop('onClick',null)至少对IE11来说足够了。
$element.prop("onclick", null);
onclick="$(this).prop('onclick', null);"
<a id="myDiv" href="#" onclick="doSomething();">Click here !</a>
$('body #myDiv').prop('onclick', null);