我在这个特定问题的逻辑上陷入了两难境地。原谅我,如果这是一个非常新手的问题,但我宁愿有一个坚实的bg。
在网络上有很多这样的例子,你点击一个元素来显示另一个元素。这种情况可能是一个菜单,当你将鼠标悬停在它上面(或点击它)时,它会显示出来。之后元素会在鼠标移出时隐藏,或者点击任何其他元素。所以,这是如何实现的?我确信解决方案不是在所有元素上绑定“hideElem”函数。
问候,
发布于 2019-06-24 10:29:57
我暂时没有这样做,但一个简单的解决方案是在DOM树的顶部添加一个click事件来关闭open元素。这是psuedo-javascript中的一个例子:
document.body.onclick = function() {
element.style.display = "none";
}
如果您需要“显示”元素中的复杂行为,请确保阻止必要的事件传播DOM树。
element.onclick = function(e) {
e.stopPropagation()
}
发布于 2019-06-24 11:17:55
这是一种方法。
您还可以编写一个方法来捕获(挂钩)所有“点击”事件而不管元素,并从那里隐藏您的菜单。
JQuery会让您更轻松地完成这项任务。
https://stackoverflow.com/questions/-100001277
复制相似问题