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
Patricia Arquetteasal
2024-10-21 13:39:31561semak imbas

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>

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

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

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>

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>

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!

Kenyataan:
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