Rumah  >  Artikel  >  hujung hadapan web  >  jquery mendapat kaedah mengikat

jquery mendapat kaedah mengikat

WBOY
WBOYasal
2023-05-14 09:16:06916semak imbas

Dalam pembangunan bahagian hadapan, kami selalunya perlu menggunakan rangka kerja JavaScript untuk mengendalikan beberapa logik interaksi yang kompleks. Antaranya, jQuery ialah rangka kerja yang digunakan secara meluas yang menyediakan satu siri API mudah dan pantas untuk mengendalikan elemen DOM, mengendalikan acara dan operasi lain. Apabila menggunakan jQuery untuk mengikat pengendali acara, anda selalunya perlu mendapatkan fungsi pengendali terikat. Artikel ini akan memperkenalkan pelbagai cara untuk mendapatkan pengikatan acara jQuery.

1. Gunakan data()

Dalam jQuery, anda boleh menggunakan kaedah .data() untuk mendapatkan data elemen. Sebagai contoh, kita boleh mengikat pengendali acara kepada elemen:

$("#myButton").on("click", function() {
  alert("Clicked!");
});

Sekarang, kita boleh menggunakan kaedah data() untuk mendapatkan pengendali acara terikat:

var clickHandler = $("#myButton").data("events").click[0].handler;

Kod di atas melepasi memperoleh fungsi pengendali pertama yang terikat pada acara data(), iaitu fungsi tanpa nama yang ditakrifkan di atas. Perlu diingatkan bahawa kaedah ini tidak digunakan dalam jQuery versi 3.x dan lebih baru, dan penggunaannya tidak disyorkan. click

2. Gunakan $._data()

Selepas jQuery versi 3.x, kita boleh menggunakan kaedah

untuk mendapatkan data terikat bagi elemen tersebut. Sebagai contoh, kita boleh mengubah suai kod di atas kepada: $._data()

$("#myButton").on("click", function() {
  alert("Clicked!");
});

var clickHandler = $._data($("#myButton")[0], "events").click[0].handler;

Kod di atas memperoleh fungsi pengendali pertama yang terikat pada acara

melalui kaedah $._data(), iaitu fungsi tanpa nama yang ditakrifkan di atas. click

Perlu diingatkan bahawa kaedah

adalah kaedah dalaman dan tidak boleh digunakan dalam projek formal. Jika anda perlu mendapatkan data pengikatan elemen, anda boleh menggunakan kaedah $._data() yang lebih standard. data()

3. Gunakan objek acara

Dalam fungsi pemprosesan acara, kita boleh mendapatkan fungsi pemprosesan acara terikat melalui objek acara. Contohnya:

$("#myButton").on("click", function(event) {
  var clickHandler = event.handleObj.handler;
});

Kod di atas memperoleh fungsi pemprosesan mengikat acara melalui objek acara. Perlu diingat bahawa kaedah ini hanya boleh digunakan di dalam fungsi pengendali acara.

4. Gunakan unbind()

Dalam jQuery, anda boleh menggunakan kaedah

untuk menyahikat acara elemen. Apabila kita perlu mendapatkan fungsi pengendalian peristiwa terikat, kita boleh menyimpan fungsi itu kepada pembolehubah sebelum menyahikat acara. Contohnya: unbind()

var clickHandler;

$("#myButton").on("click", clickHandler = function() {
  alert("Clicked!");
});

$("#myButton").unbind("click", clickHandler);

Kod di atas mentakrifkan pembolehubah clickHandler untuk menyimpan fungsi pemprosesan terikat peristiwa. Kemudian, kita boleh menggunakan kaedah

untuk menyahikat acara dan mendapatkan pengendali acara terikat sebelum menyahikat. Perlu diingatkan bahawa kaedah ini hanya terpakai pada satu fungsi pengendalian acara. unbind()

Ringkasan

Artikel ini memperkenalkan pelbagai kaedah untuk mendapatkan fungsi pemprosesan pengikatan peristiwa jQuery, termasuk menggunakan .data(), $._data(), objek acara dan unbind() dan lain-lain kaedah . Perlu diingat bahawa selepas versi jQuery 3.x, adalah disyorkan untuk menggunakan kaedah

yang lebih standard untuk mendapatkan data pengikatan elemen. Apabila anda perlu menyahikat acara, anda boleh menggunakan kaedah unbind() untuk mendapatkan pengendali acara terikat. data()

Atas ialah kandungan terperinci jquery mendapat kaedah mengikat. 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
Artikel sebelumnya:ralat nodejs 1909Artikel seterusnya:ralat nodejs 1909