Heim >Web-Frontend >CSS-Tutorial >Wie kann ich in jQuery ein Ereignis auslösen, wenn sich eine CSS-Klasse ändert?

Wie kann ich in jQuery ein Ereignis auslösen, wenn sich eine CSS-Klasse ändert?

Barbara Streisand
Barbara StreisandOriginal
2025-01-01 06:13:16179Durchsuche

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

Ereignisse bei CSS-Klassenänderungen in jQuery auslösen

Herausforderung:
Kann jQuery verwendet werden, um ein Ereignis auszulösen, wenn eine CSS-Klasse vorhanden ist? hinzugefügt oder geändert? Ruft das Ändern einer CSS-Klasse automatisch das jQuery-Ereignis „change()“ auf?

Lösung:
jQuery bietet von Natur aus kein Ereignis für den Fall, dass sich eine CSS-Klasse ändert. Sie können jedoch Ihr eigenes Ereignis mithilfe eines Triggers auslösen, wenn Sie eine Klasse in Ihrem Skript ändern:

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

Binden Sie dann Ihr benutzerdefiniertes Ereignis an einen Selektor, um die Aktionen anzugeben, die ausgeführt werden sollen, wenn sich die Klasse ändert:

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

Das change()-Ereignis in jQuery ist für Eingabeelemente vorgesehen und wird nur ausgelöst, wenn der Fokus eine Eingabe mit geändertem Inhalt nach den Daten verlässt Eintrag.

Demonstrationscode:

$(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>

Das obige ist der detaillierte Inhalt vonWie kann ich in jQuery ein Ereignis auslösen, wenn sich eine CSS-Klasse ändert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn