挑战:
当 CSS 类更改时,是否可以使用 jQuery 来触发事件添加或修改?更改 CSS 类是否会自动调用 jQuery change() 事件?
解决方案:
jQuery 本身并不提供 CSS 类更改时的事件。但是,您可以在更改脚本中的类时使用触发器触发自己的事件:
$(this).addClass('someClass'); $(mySelector).trigger('cssClassChanged');
然后,将自定义事件绑定到选择器以指定类更改时要采取的操作:
$(otherSelector).bind('cssClassChanged', data, function(){ do stuff });
jQuery 中的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>
以上是当 CSS 类发生变化时,如何在 jQuery 中触发事件?的详细内容。更多信息请关注PHP中文网其他相关文章!