我有一个div元素就像一个按钮。这个div可以(并且确实)包含更多的子div和/或跨度,图像等。此外,div上有一个“click”事件,可以向下滑动子菜单。
每当我点击按钮时,我都会尝试显示和隐藏该子菜单,但是当我在页面上的任何地方点击按钮时,我也会隐藏它。
我的问题是我的页面上有一个按钮,因此event.stopPropagation()
对我不起作用,因为如果我点击一个按钮并出现子菜单,然后我点击另一个按钮,{{1}阻止我的第一个div隐藏其子菜单。
我无法使用event.stopPropagation()
来检查我是否点击按钮,因为目标返回我点击的元素,可以是我的按钮内的图像或按钮内的div内的div而且我不想去event.target
检查它是否真的是我的按钮。
我已经在google.com,jQuery UI datepicker和其他一百万个网站上看到了这一点,乍一看它看起来很简单,但我无法弄清楚它是如何完成的。
这是按钮元素的标记:
.parent().parent()...
到目前为止这是javascript:
<div id="testButton" role="button">
<div>xxxxx</div>
<div>xxxxx</div>
<span>john doe</span>
</div>
感谢。