一尘不染

在jQuery中触发CSS类更改事件

css

如果使用jQuery添加或更改CSS类,如何触发事件?更改CSS类是否会触发jQuery change()事件?


阅读 472

收藏
2020-05-16

共1个答案

一尘不染

每当您在脚本中更改类时,都可以使用A trigger引发自己的事件。

$(this).addClass('someClass');
$(mySelector).trigger('cssClassChanged')
....
$(otherSelector).bind('cssClassChanged', data, function(){ do stuff });

但是否则,没有什么办法可以在类更改时触发事件。change()仅在焦点离开输入已更改的输入后才触发。

$(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>
2020-05-16