jQuery在类变化时执行某些操作

4

我的目标是编写一个事件,如果给定元素获得一个类,或者当该类被移除时将触发该事件。

假设我有:

<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 Thomas
如果这个问题已经被问过了,那为什么有人还会点赞呢?这个问题也被点赞了!!! - user2778823
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Karl-André Gagnon
@pbialy,你无法编辑的部分甚至都不正确;你在复制和粘贴时是否省略了某些部分? - PeterKA
@PeterKA 正如我在注释中所说的那样 - 我的真正代码是不同的,我只是想举一个最简单的例子,是的,在编写它时我犯了一个语法错误,现在应该没问题了,谢谢你指出。 - pbialy
1
你可以使用 event.stopImmediatePropagation() 来阻止那些事件处理程序的触发。然后,你可以像这个演示一样编写自己的处理程序:http://jsfiddle.net/fiddleyetu/8jan08kp/2/ - PeterKA
1个回答

1

你不能将该操作添加到事件 .click 中吗?该类是由一个事件添加的,因此相同的事件也应该能够触发你想要执行的下一步操作,对吧?

另请参阅:jQuery - 如果 CSS 类更改则触发事件


问题是我无法访问包含“.click”代码的部分。我应该在我的问题中注明,马上进行编辑。 - pbialy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接