不推荐使用event.returnValue。请改用标准的event.preventDefault()

时间:2013-11-18 10:12:19

标签: javascript jquery ajax

我有这个脚本:

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

我在Google Chrome控制台中收到以下错误:

  

不推荐使用event.returnValue。请改用标准的event.preventDefault()。

我使用的是jQuery v1.10.2,#changeResumeStatus<span>

我的剧本出了什么问题?

7 个答案:

答案 0 :(得分:201)

这只是一个警告:您的代码仍然有效,但由于该方法已被弃用,将来可能无法运行。请参阅relevant source of Chromiumcorresponding patch

这已在jQuery 1.11中得到认可和修复(请参阅herehere)。

答案 1 :(得分:22)

仅供其他人参考,我刚刚收到此信息,发现它归于AngularJS。这是为了向后兼容:

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

答案 2 :(得分:20)

如果您使用Bootstrap

当前版本的Bootstrap(3.0.2)(使用jQuery 1.10.2和Chrome)似乎也会生成此警告。

(它在推特上也这样做,BTW。)

更新

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

答案 3 :(得分:19)

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

答案 4 :(得分:6)

这是一个警告,大多数JavaScript框架(jQuery,Angular,YUI,Bootstrap ...)都提供了对从IE8到IE6开始的最讨厌的Internet Explorer的后向支持:/

有一天,后向兼容性支持将被删除(对于IE9 deals with it以来的IE8 / 7/6),您将不再看到此警告(以及其他IEish错误)..

这是一个时间问题(现在IE8 has 10% worldwide分享,一旦达到1% it is DEAD),同时,只是忽略警告并留下禅:)

答案 5 :(得分:3)

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

答案 6 :(得分:3)

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

相关问题