javascript - 获取被选元素以外的元素
怪我咯
怪我咯 2017-04-10 16:29:02
[JavaScript讨论组]

这个要怎么实现点击下拉列表以外的地方执行隐藏下拉列表,而且是一个页面中有多个这个的都能实现?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
黄舟

$(document.body).click(function(e) {

e = e || window.event;
if (e.target.className !== '下拉class' ) {
   $下拉.hide();
}

});

大家讲道理

其实比较简单,鉴于题主既然问了,可能基础不太好,我就说说思路。
同楼上这个代码所展示的,我就不贴代码了。
第一行:监听body的,click事件。
第二行:同时获取点击发生时,鼠标所在触发位置的class或者id。判断触发的class或者id,是不是下拉列表的class。如果不是说明,点击事件发生在下拉列表外,关闭下拉列表。

大家讲道理

弹出菜单的事件用 click; 收起菜单的事件用 mousedown ;
因为 mousedown 肯定在 click 以前,所以不用担心隐藏了新打开的下拉框。

记得 mousedown 收起菜单之前先检查一下 event.target 是不是在菜单里面。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号