在 jQuery 中触发 CSS 类更改的事件 [英] Firing events on CSS class changes in jQuery

查看:35
本文介绍了在 jQuery 中触发 CSS 类更改的事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I fire an event if a CSS class is added or changed using jQuery? Does changing of a CSS class fire the jQuery change() event?

推荐答案

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

Whenever you change a class in your script, you could use a trigger to raise your own event.

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

但除此之外,不,当类发生变化时,没有内置的方式来触发事件.change() 仅在焦点离开输入已更改的输入后触发.

but otherwise, no, there's no baked-in way to fire an event when a class changes. change() only fires after focus leaves an input whose input has been altered.

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

更多关于 jQuery 触发器的信息

这篇关于在 jQuery 中触发 CSS 类更改的事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆