如何检查是否单击元素内部

时间:2011-12-01 22:01:50

标签: jquery hide show submenu stoppropagation

我有一个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>

感谢。

0 个答案:

没有答案