我有这个脚本:

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

我收到以下错误在我的谷歌Chrome控制台:

事件。returnValue已弃用。请使用标准的event.preventDefault()。

我使用jQuery v1.10.2和#changeResumeStatus是一个<span>。

我的剧本有什么问题?


这是jQuery API的问题,而不是脚本的问题。没什么好担心的。


这只是一个警告:您的代码仍然可以工作,但是由于该方法已弃用,因此将来可能无法工作。请看铬的相关来源和相应的补丁。

这个问题在jQuery 1.11中已经得到了识别和修复(参见这里和这里)。


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

if (!event.preventDefault) {
    event.preventDefault = function() {
        event.returnValue = false; //ie
    };
}

如果你使用Bootstrap:

当前版本的Bootstrap(3.0.2)(带有jQuery 1.10.2和Chrome)似乎也会生成这个警告。

(顺便说一下,Twitter上也是如此。)

更新

Bootstrap的当前版本(3.1.0)似乎不再产生此警告。


我在很多网站上看到了这个警告。另外,我看到YUI 3库也给出了相同的警告。它是从库(不管是jQuery还是YUI)生成的警告。


我发现使用最新版本可以解决这个问题: http://code.jquery.com/jquery-git.js


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

总有一天,向后兼容性支持将被放弃(IE8/7/6,因为IE9处理它),你将不会再看到这个警告(和其他IEish错误)。

这只是时间问题(现在IE8在全球的份额是10%,一旦达到1%,它就死定了),与此同时,忽略这个警告,保持冷静吧:)