我的目标是编写一个事件,如果给定元素获得一个类,或者当该类被移除时将触发该事件。
假设我有:
<button id="my_butt_show">showtime</button>
<button id="my_butt_hide">hide me</button>
<span id="the_changer"></span>
<span id="the_end">some text</span>
<script>
// this is the part of code I can't edit!
$('#my_butt_show').click( function() {
$('the_changer').addClass('hiMom');
});
$('#my_butt_hide').click( function() {
$('the_changer').removeClass('hiMom');
});
</script>
现在我想要像这样的东西:
<script>
$("#the_changer").onClassAdd('hiMom', $("#the_end").display('true') );
$("#the_changer").onClassRemove('hiMom', $("#the_end").display('false') );
</script>
jQuery(或js本身)有没有类似这样的东西?
注意 - 当然,这只是一个例子,我正在处理的真正问题更加困难,虽然在这里我可以使用一些更简单的解决方案,但在我的主要任务中将无法工作。
谢谢回复。
----编辑----
在第一次回答后: 我无法访问“.click”或“addClass”所在的代码部分,因此我不能在那里进行操作。
MutationObserver
,但在IE11之前的版本中尚未实现。 - David Thomasevent.stopImmediatePropagation()
来阻止那些事件处理程序的触发。然后,你可以像这个演示一样编写自己的处理程序:http://jsfiddle.net/fiddleyetu/8jan08kp/2/ - PeterKA