我正在开发一种水平菜单,但在点击时可见并在点击时隐藏但在点击某些箭头时可见,而在点击文件时隐藏但不是某个div容器。在该div容器中还有一些其他元素。如果我们编写document.onclick = closing函数,那么它会关闭用户是否单击该div本身。当用户点击任何地方但不在该div本身或箭头上时,我想调用closefunction。
似乎会有它的解决方案,但我还没找到,所以这就是为什么要在这里发布。请回复。
先谢谢你们。
答案 0 :(得分:1)
使用Prototype你可以做这样的事情
document.observe('click', function(ev) {
var el = Event.element(ev);
if ((el !== $('thediv'))
&& !el.descendantOf(thediv)) {
// hide div here
}
});
答案 1 :(得分:1)
您可以使用jQuery的nearest()来查看点击是否在菜单中: http://api.jquery.com/closest/
$('body').click(function(e){
if($(e.target).closest('.myMenuDiv,.myMenuArrow').length === 0){
// Close it
}
});
答案 2 :(得分:1)
您可以使用jQuery is()函数来检测当前目标是否与特定选择器匹配:
$('ul.container li').click(function(e){
if ($(e.target).is('.dropdown')) {
//do something when clicked inside dropdown
}
})