Rumah > hujung hadapan web > tutorial js > Memahami event.returnValue Amaran Penamatan: Mengapa dan Bagaimana untuk Membetulkan?

Memahami event.returnValue Amaran Penamatan: Mengapa dan Bagaimana untuk Membetulkan?

Patricia Arquette
Lepaskan: 2024-10-21 13:39:31
asal
557 orang telah melayarinya

Understanding event.returnValue Deprecation Warning: Why and How to Fix?

jQuery: Memahami Amaran Penamatan Event.returnValue

Pernyataan Masalah

Pertimbangkan skrip jQuery berikut:

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

Apabila melaksanakan skrip ini, anda mungkin menghadapi amaran dalam konsol Google Chrome:

event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 
Salin selepas log masuk

Walaupun ralat, kod anda masih akan berfungsi seperti yang diharapkan.

Soalan

Mengapa adakah ralat ini berlaku, dan apakah pembetulan yang perlu?

Jawapan

Ralat yang anda lihat ialah amaran penamatan, menunjukkan peristiwa itu.returnValue tidak lagi diutamakan dan akhirnya akan dialih keluar dalam versi akan datang. Untuk mengelakkan ralat ini, anda harus menggunakan event.preventDefault() sebaliknya.

Penyelesaian

jQuery Versi 1.10.2 dan Terdahulu:

Jika anda sedang menggunakan jQuery versi 1.10.2 atau lebih awal, anda perlu mengubah suai kod anda seperti berikut:

<code class="js">$(document).ready(function () {
    $("#changeResumeStatus").click(function (event) {
        event.preventDefault(); // Prevent the default action
        $.get("{% url 'main:changeResumeStatus' %}", function (data) {
            if (data['message'] == 'hidden') {
                $("#resumeStatus").text("скрыто");
            } else {
                $("#resumeStatus").text("опубликовано");
            }
        }, "json");
    });
});</code>
Salin selepas log masuk
Salin selepas log masuk

jQuery Versi 1.11 dan Kemudian:

Jika anda menggunakan jQuery 1.11 atau lebih baru, isu itu telah ditangani dalam rangka kerja. Namun begitu, untuk kejelasan, berikut ialah kod yang dikemas kini:

<code class="js">$(document).ready(function () {
    $("#changeResumeStatus").click(function (event) {
        event.preventDefault(); // Prevent the default action
        $.get("{% url 'main:changeResumeStatus' %}", function (data) {
            if (data['message'] == 'hidden') {
                $("#resumeStatus").text("скрыто");
            } else {
                $("#resumeStatus").text("опубликовано");
            }
        }, "json");
    });
});</code>
Salin selepas log masuk
Salin selepas log masuk

Dengan pengubahsuaian ini, anda tidak akan lagi menghadapi amaran penamatan dan kod anda akan terus berfungsi dengan baik.

Atas ialah kandungan terperinci Memahami event.returnValue Amaran Penamatan: Mengapa dan Bagaimana untuk Membetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan