event.returnValue is deprecated. Please use the standard event.preventDefault() instead

JavascriptJqueryAjax

Javascript Problem Overview


I have this script:

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

I receive the following error in my Google Chrome console:

> event.returnValue is deprecated. Please use the standard event.preventDefault() instead.

I am using jQuery v1.10.2 and #changeResumeStatus is a <span>.

What's wrong with my script?

Javascript Solutions


Solution 1 - Javascript

This is only a warning: your code still works, but probably won't work in the future as the method is deprecated. See the relevant source of Chromium and corresponding patch.

This has already been recognised and fixed in jQuery 1.11 (see here and here).

Solution 2 - Javascript

Just for other's reference, I just received this and found it was due to AngularJS. It's for backwards compatibility:

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

Solution 3 - Javascript

If you using Bootstrap:

The current version of Bootstrap (3.0.2) (with jQuery 1.10.2 & Chrome) seems to generate this warning as well.

(It does so on Twitter too, BTW.)

Update

The current version of Bootstrap (3.1.0) no longer seems to generate this warning.

Solution 4 - Javascript

That's your jQuery API problem, not your script. There is not much to worry about.

Solution 5 - Javascript

This is a warning related to the fact that most JavaScript frameworks (jQuery, Angular, YUI, Bootstrap...) offer backward support for old-nasty-most-hated Internet Explorer starting from IE8 down to IE6 :/

One day that backward compatibility support will be dropped (for IE8/7/6 since IE9 deals with it), and you will no more see this warning (and other IEish bugs)..

It's a question of time (now IE8 has 10% worldwide share, once it reaches 1% it is DEAD), meanwhile, just ignore the warning and stay zen :)

Solution 6 - Javascript

I saw this warning on many websites. Also, I saw that YUI 3 library also gives the same warning. It's a warning generated from the library (whether is it jQuery or YUI).

Solution 7 - Javascript

I found that using the latest version will fix this problem:
http://code.jquery.com/jquery-git.js

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlex ParakhnevichView Question on Stackoverflow
Solution 1 - JavascriptPaul MougelView Answer on Stackoverflow
Solution 2 - JavascriptLedivinView Answer on Stackoverflow
Solution 3 - JavascriptensignrView Answer on Stackoverflow
Solution 4 - JavascriptVictor ZhangView Answer on Stackoverflow
Solution 5 - JavascriptnumediawebView Answer on Stackoverflow
Solution 6 - JavascripteAbiView Answer on Stackoverflow
Solution 7 - Javascriptuser2203117View Answer on Stackoverflow