web-dev-qa-db-fra.com

event.returnValue est obsolète. Veuillez utiliser le standard event.preventDefault () à la place

J'ai ce 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>

Le message d'erreur suivant s'affiche dans ma console Google Chrome:

event.returnValue est obsolète. Veuillez utiliser le standard event.preventDefault () à la place.

J'utilise jQuery v1.10.2 et #changeResumeStatus est un <span>.

Quel est le problème avec mon script?

220
Alex Parakhnevich

Ceci n'est qu'un avertissement: votre code fonctionne toujours, mais ne fonctionnera probablement pas à l'avenir car la méthode est obsolète. Voir le source pertinente de chrome et patch correspondant .

Cela a déjà été reconnu et corrigé dans jQuery 1.11 (voir ici et ici ).

202
Paul Mougel

Juste pour la référence des autres, je viens de recevoir ceci et j'ai trouvé que c'était dû à AngularJS . C'est pour la compatibilité ascendante:

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

Si vous utilisez Bootstrap :

La version actuelle de Bootstrap (3.0.2) (avec jQuery 1.10.2 & Chrome) semble également générer cet avertissement.

(Il le fait aussi sur Twitter, BTW.)

Mise à jour

La version actuelle de Bootstrap (3.1.0) ne semble plus générer cet avertissement.

20
ensignr

C'est votre jQueryAPI , pas votre script. Il n'y a pas grand chose à craindre.

19
Victor Zhang

Ceci est un avertissement lié au fait que la plupart des frameworks JavaScript (jQuery, Angular, YUI, Bootstrap ...) offrent une prise en charge en arrière pour Internet Explorer le plus détesté-le plus détesté, de IE8 à IE6: /

Un jour, ce support de compatibilité ascendante sera abandonné (pour IE8/7/6 depuis IE9 le gère ), et vous ne verrez plus cet avertissement (ainsi que d’autres bogues dans IEish).

C'est une question de temps (maintenant IE8 a 10% dans le monde entier part, une fois qu'il a atteint 1% c'est MORT ), pendant ce temps, ignorez simplement l'avertissement et restez zen :)

6
numediaweb

J'ai vu cet avertissement sur de nombreux sites Web. En outre, j'ai vu que YUI 3 bibliothèque donne également le même avertissement. C'est un avertissement généré à partir de la bibliothèque (que ce soit jQuery ou YUI).

3
eAbi

J'ai trouvé que l'utilisation de la dernière version résoudrait ce problème:
http://code.jquery.com/jquery-git.js

3
user2203117