Javascript event.returnValue已弃用。请改用标准的event.preventDefault()

Javascript event.returnValue已弃用。请改用标准的event.preventDefault(),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有这个剧本: <script> $(document).ready(function () { $("#changeResumeStatus").click(function () { $.get("{% url 'main:changeResumeStatus' %}", function (data) { if (data['message'] == 'hidden') { $("#resumeSt

我有这个剧本:

<script>
$(document).ready(function () {
    $("#changeResumeStatus").click(function () {
        $.get("{% url 'main:changeResumeStatus' %}", function (data) {
            if (data['message'] == 'hidden') {
                $("#resumeStatus").text("скрыто");
            } else {
                $("#resumeStatus").text("опубликовано");
            }
        }, "json");
    });
});
</script>

$(文档).ready(函数(){
$(“#changeResumeStatus”)。单击(函数(){
$.get(“{%url”main:changeResumeStatus“%}”,函数(数据){
如果(数据['message']=='hidden'){
$(“#简历状态”)。文本(“##ŧŧŧŧŧŧ”);
}否则{
$(“#简历状态”)。文本(“аПббааааааа”;
}
}“json”);
});
});
我在Google Chrome控制台中收到以下错误:

event.returnValue已弃用。请改用标准的event.preventDefault()

我使用的是jQuery v1.10.2,而
#changeResumeStatus
是一个


我的脚本怎么了?

那是你的问题,不是你的脚本。没什么可担心的。

这只是一个警告:您的代码仍然可以工作,但可能在将来无法工作,因为该方法已被弃用。请参阅和


这已经在jQuery1.11中得到了识别和修复(请参阅和)。

仅供他人参考,我刚刚收到这封信,发现它是由于。这是为了向后兼容:

if (!event.preventDefault) {
    event.preventDefault = function() {
        event.returnValue = false; //ie
    };
}
如果您使用:

当前版本的Bootstrap(3.0.2)(带有jquery1.10.2和Chrome)似乎也会生成此警告

(顺便说一句,它也在推特上这么做。)

更新
(3.1.0)的当前版本似乎不再生成此警告。

我在许多网站上看到此警告。另外,我看到3库也给出了同样的警告。这是从库中生成的警告(无论是jQuery还是YUI)。

我发现使用最新版本可以解决此问题:

这是一个警告,因为大多数JavaScript框架(jQuery、Angular、YUI、Bootstrap…)都为最讨厌的旧Internet Explorer提供向后支持,从IE8到IE6:/

有一天,向后兼容性支持将被取消(对于IE8/7/6,从那时起),您将不再看到此警告(以及其他IEish错误)


这是一个时间问题(现在共享,一旦到达),同时,忽略警告并保持禅:)

我认为这不是一个错误,只是一个警告-这一个可以安全忽略。此警告是在最新的chrome更新之后发布的,不要担心,你应该研究转义非ascii字符串。@AlexParakhnevich这样做没有一个令人信服的理由,但一些次要的理由会不时出现。老实说,我的反应是本能的,而不是深思熟虑的。在我现在正在进行的项目中,有一条指导原则,就是不要在文本中使用非ascii字符,这是我在过去制定的,因为一些外部工具(typescript编译器)会被这种输入阻塞。它在大多数情况下都能很好地工作,但有时在出现问题时会占用开发人员大量的时间。无论如何,
.empty().append(“text”)
更好地表达为
.text(“text”)
@Gleno感谢您的分享,我怀疑,如果这意味着导致所有使用JQuery<1.11的页面都被破坏,那么任何人都不会很快破坏它。JQuery 2.0.3中也会出现此警告(截至此评论的最新稳定版本),当前的里程碑被设置为2.1,用于修复。使用jQuery1.11会修复问题吗?只是为了澄清
jQuery
在单击处理程序中使用
return false
是否不推荐?这是Chrome对jQuery库中的一段代码的抱怨?的确如此。Chrome已经弃用了
event.returnValue
,它只存在于与IEI向后兼容的情况下。我在一个没有使用或引用Angle的裸体站点中得到了这个错误——可能是间接引用的,但我对此表示怀疑。@B.ClayShannon:这不是一个错误,这是一个警告。这有很大的区别,特别是在我们的环境中。您可以安全地忽略它。@B.ClayShannon如果您包含它,Chrome将解析它,就像它是您提供的脚本一样,并且(正确地)抛出警告。jQuery 2.x.x仅支持IE9及以上版本。如果您想在jQuery中支持IE8,则需要使用版本1.x.x。