两种实现点击'对话框'以外的区域,'对话框'消失的方法。
html:
第一种思路:当前点击的对象不是对话框本身,则让对话框消失
var wrap = document.getElementsByClassName('wrap')[0];
var content = document.getElementsByClassName('content')[0];wrap.onclick = function(e){if(e.target !== content){wrap.style.display = 'none'console.log('点的对话框以外')}else{console.log('点击的对话框')}
}
结果:
点击'对话框':
点击'对话框'以外:
第二种思路:利用事件的target和currentTarget.
if(e.target !== e.currentTarget){wrap.style.display = 'none';console.log('点的对话框以外')}else{console.log('点击的对话框')}
因为currentTaget表示你绑定事件的元素,是'对话框'以外的区域,而点击对话框,e.target为'对话框'本身,两者不是同一个元素!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
