js关于点击目标窗口外则隐藏

有个拉下菜单,需要点击任意地方出了本身的地方就隐藏,具体使用原生js要怎么样实现?

阅读 4.6k
6 个回答

一般是在menu中阻止事件冒泡,docment中关闭菜单。

menu.addEventListener('click', function(e) {
    menu.style.display = 'block';
     stop(e);
})  
document.addEventListener('click', function() {
    menu.style.display = 'none';
})  

function stop(e){
     e = e || win.event;
     e.stopPropagation ? e.stopPropagation() 
     : e.cancelBubble = true;
}

还可以在document.click中通过判断e.target执行相应的代码

绑定document点击事件让下拉菜单隐藏 给下拉菜单的点击事件阻止冒泡

在document添加一个click事件,如果点击了document就把 下拉菜单 隐藏

document.addEventListener('click', function() {
    menu.style.display = 'none';
})
新手上路,请多包涵

$(document).click(function(){

$("select").hide();

})

页面绑定click事件,获取menu元素设置display为none

借着这个契机,去吃透浏览器的事件流吧,有点意思

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题