代码之家  ›  专栏  ›  技术社区  ›  Tintin81

如何在jQuery中单击动态创建的元素来切换下拉?

  •  0
  • Tintin81  · 技术社区  · 7 年前

    我有这个jQuery功能,我在我的网站上的各个地方都在使用它。这对所有人都很好 li 具有类的元素 dropdown span

    当秒表运行时,我可以单击锚文本本身(“秒表”)来切换下拉列表,但当我单击其中一个 跨度 但是,什么也没有发生。

    如何解决这个问题?

    $(function() {
      $('.dropdown').on('click', 'a', function(event) {
        var menu = $(this).siblings('ul');
        menu.toggle();
        if (menu.is(':visible')) {
          $(this).addClass('expanded');
        } else {
          $(this).removeClass('expanded');
        }
        event.stopPropagation();
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <ul>
      <li class="dropdown" id="stopwatch">
        <a class="collapsible">Stopwatch
          <span id="clock">
            <span id="hours">00</span>
            <span id="minutes">00</span>
            <span id="seconds">09</span>
            <span id="milliseconds">120</span>
          </span>
        </a>
        <ul style="display: none;">
          <!-- omitted for brevity -->
        </ul>
      </li>
    </ul>
    0 回复  |  直到 7 年前