如果使用jQuery添加或更改CSS类,如何触发事件?更改CSS类是否会触发jQuery change()事件?
change()
每当您在脚本中更改类时,都可以使用A trigger引发自己的事件。
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>