我有一些HTML菜单,当用户点击这些菜单的头部时,我会完全显示.当用户点击菜单区域外时,我想隐藏这些元素.
jQuery可以这样吗?
$("#menuscontainer").clickOutsideThisElement(function() {
// Hide the menus
});
Run Code Online (Sandbox Code Playgroud) 是否有任何正确的解决方案来处理元素外部的点击?
有一些通用的解决方案,例如在没有 jquery 的情况下处理元素外部的点击:
window.onload = function() {
// For clicks inside the element
document.getElementById('myElement').onclick = function(e) {
// Make sure the event doesn't bubble from your element
if (e) { e.stopPropagation(); }
else { window.event.cancelBubble = true; }
// Place the code for this element here
alert('this was a click inside');
};
// For clicks elsewhere on the page
document.onclick = function() {
alert('this was a click outside');
};
};
Run Code Online (Sandbox Code Playgroud)
但问题是几乎所有项目在不同的组件中都有多个不同的弹出窗口,我应该处理它们的外部点击。
我应该如何在不使用全局 window.on 的情况下处理 click-outisde ?(我认为不可能将所有组件的外壳处理程序放入 window.on …