如何实现鼠标点击目标以外的元素时,目标消失呢

最近在仿网站,用js写一个div
图片描述

现在想写一个鼠标的点击事件,当div存在的时候,点击任意其他元素都会删去这个div,一开始我想用document.onclick=function(){#code#}的方法来写,但是我是用js产生的div,当点击div的父元素来产生div的同时,程序会自动删除div,这种想法失败了

阅读 7.5k
6 个回答

stopPropagation()

其实只要在你的点击事件里加上一个判断,如果当前你添加的DIV节点存在,则返回false 否则 继续执行 就OK了。

下面是我写弹窗时“点击弹窗以外的地方,弹窗消失”的js代码,希望对你有帮助:

$(document).on('click',function(e){
    var _con=$('.header');
    if(!_con.is(e.target) && _con.has(e.target).length===0){
        $('.header').removeClass('header-show');
    }
})
新手上路,请多包涵

失去焦点不是用 onblur 事件吗?

谢谢你 @stuarqi ,用你提示的方法解决了

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