原型js事件观察传递给元素子元素

发布于 2024-10-11 01:40:11 字数 358 浏览 3 评论 0原文

我有一个 html 列表如下:

<ul>
 <li id="one">
  <ul id="sub_ul">
   <li>sth</li>
   <li>sth2</li>
   <li>sth3</li>
  </ul>
 </li>
</ul>

我观察到“one”上的单击事件,以便 SlideUp、SlideDown“sub_ul”。问题是,当列表打开时,单击任何子元素都会触发 SlideUp 操作。我自然想避免这种情况。有人可以告诉我该怎么做吗?

干杯, 马诺城

I have a html list as the following:

<ul>
 <li id="one">
  <ul id="sub_ul">
   <li>sth</li>
   <li>sth2</li>
   <li>sth3</li>
  </ul>
 </li>
</ul>

I observe a click event on "one" in order to SlideUp, SlideDown "sub_ul". The problem is that when the list is open, clicking on any of the sub-elements triggers the SlideUp action. I would naturally like to avoid this. Could anybody please tell me how I can do that?

Cheers,
Manojo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁把谁当真 2024-10-18 01:40:11

在事件处理程序中,首先检查是否已单击某个项目。

$('one').observe('click', function(event)}{
    if (event.findElement('li') != document) {
        event.stop;
        return;
    }

    // continue normal processing
});

In your event handler first check if an item has been clicked.

$('one').observe('click', function(event)}{
    if (event.findElement('li') != document) {
        event.stop;
        return;
    }

    // continue normal processing
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文