使用普通javascript将类添加到html元素时,收听事件

时间:2016-11-10 15:13:09

标签: javascript html css reactjs scrollspy

我正在使用bootstrap的滚动间谍。当滚动元素进入视图时,会添加active类。 这是滚动间谍的正常行为。

我只是想在活动类添加到li元素时收到通知。

<li
    key       = {`${idx}`}
    className = "panel "
>
    <a
        href        = {`#${groupId}`}
        data-toggle = "collapse"
        data-parent = {`#${accordionId}`}
        data-target = {`#Menu${idx}`}
        className   = "temp-link"
    >
      Menu
    </a>
    <ul className="nav nav-list panel-collapse collapse " id={`${ulIdx}`}>
          <li> .... </li>
          <li> .... </li>
          <li> .... </li>
    </ul>
</li>

我只是尝试将事件处理程序附加到父li,当它获得active类时将被调用。 那时我会通过添加课程ul来显示collapse in元素。 我正在使用ReactJs并且不想使用任何基于jquery的解决方案。 欢迎使用任何更简单的基于JavaScript的解决方案,想法或建议。

1 个答案:

答案 0 :(得分:1)

查看MutationObserver API

它允许您观察特定的DOM元素以进行更改,并在发生此类更改时执行回调。剩下的功能应该很容易实现。

  

MutationObserver为开发人员提供了一种对DOM中的更改做出反应的方法。它被设计为DOM3事件规范中定义的Mutation事件的替代。