Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Panggilan Fungsi Ganti pada Acara Klik?

Bagaimana untuk Panggilan Fungsi Ganti pada Acara Klik?

Mary-Kate Olsen
Lepaskan: 2024-11-08 16:31:02
asal
359 orang telah melayarinya

How to Alternate Function Calls on Click Events?

Panggilan Fungsi Bergantian dengan Peristiwa Klik

Soalan:

Bagaimana saya boleh melaksanakan fungsi yang berbeza apabila elemen diklik, berselang-seli antara mereka dengan setiap klik berturut-turut?

Jawapan:

jQuery menawarkan versi ganti kaedah .toggle() yang direka khusus untuk tujuan ini, walaupun sejak itu telah ditamatkan. Terdapat pendekatan alternatif, seperti mencipta pemalam tersuai yang menyediakan kefungsian yang diingini.

Menggunakan Kaedah .toggle() Dihentikan:

$('#element').toggle(function() {
  // Function 1
}, function() {
  // Function 2
});
Salin selepas log masuk

Pemalam Tersuai:

(function($) {
  $.fn.clickToggle = function(func1, func2) {
    var funcs = [func1, func2];
    this.data('toggleclicked', 0);
    this.click(function() {
      var data = $(this).data();
      var tc = data.toggleclicked;
      $.proxy(funcs[tc], this)();
      data.toggleclicked = (tc + 1) % 2;
    });
    return this;
  };
}(jQuery));

$('#element').clickToggle(function() {
  // Function 1
}, function() {
  // Function 2
});
Salin selepas log masuk

Nota:

  • Pemalam tersuai boleh digunakan untuk sebarang acara, bukan hanya klik.
  • Ia menerima bilangan fungsi yang sewenang-wenangnya untuk dilaksanakan secara bergilir-gilir.
  • Kaedah .toggle() yang tidak digunakan boleh menyebabkan isu prestasi dalam senario yang rumit.

Atas ialah kandungan terperinci Bagaimana untuk Panggilan Fungsi Ganti pada Acara Klik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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