Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mencetuskan Peristiwa dalam jQuery Apabila Kelas CSS Berubah?

Bagaimanakah Saya Boleh Mencetuskan Peristiwa dalam jQuery Apabila Kelas CSS Berubah?

Barbara Streisand
Barbara Streisandasal
2025-01-01 06:13:16244semak imbas

How Can I Trigger an Event in jQuery When a CSS Class Changes?

Memunculkan Peristiwa semasa Perubahan Kelas CSS dalam jQuery

Cabaran:
Bolehkah jQuery digunakan untuk mencetuskan acara apabila kelas CSS ditambah atau diubah suai? Adakah mengubah kelas CSS secara automatik menggunakan acara jQuery change()?

Penyelesaian:
jQuery sememangnya tidak menawarkan acara apabila kelas CSS berubah. Walau bagaimanapun, anda boleh mencetuskan acara anda sendiri menggunakan pencetus apabila mengubah kelas dalam skrip anda:

$(this).addClass('someClass');
$(mySelector).trigger('cssClassChanged');

Kemudian, ikat acara tersuai anda kepada pemilih untuk menentukan tindakan yang perlu diambil apabila kelas berubah:

$(otherSelector).bind('cssClassChanged', data, function(){ do stuff });

Peristiwa change() dalam jQuery dikhususkan untuk elemen input dan tercetus hanya apabila fokus meninggalkan input dengan kandungan yang diubah selepas data kemasukan.

Kod Demonstrasi:

$(function() {
  var button = $('.clickme'),
      box = $('.box');

  button.on('click', function() {
    box.removeClass('box');
    $(document).trigger('buttonClick');
  });

  $(document).on('buttonClick', function() {
    box.text('Clicked!');
  });
});
.box { background-color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="box">Hi</div>
<button class="clickme">Click me</button>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetuskan Peristiwa dalam jQuery Apabila Kelas CSS Berubah?. 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