收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 24943|回复: 5

js如何实现点击一个div外部其他位置,隐藏改div

[复制链接]
发表于 2010-7-15 13:40:55 | 显示全部楼层 |阅读模式
大家好,请问如何实现点击一个层的外部(不点该层),隐藏该层。如下面运行代码?如何在这个红色的层外部点击任意地方,隐藏该层。

 提示:您可以先修改部分代码再运行

发表于 2010-7-15 13:53:31 | 显示全部楼层

 提示:您可以先修改部分代码再运行


禁止事件冒泡。
ie7 测试正常。
回复 支持 反对

使用道具 举报

发表于 2010-7-15 14:05:24 | 显示全部楼层
是外部,我们可以设定除test外的body为目标即可,既然这样,我们应该先给body一个width和height属性且必须为具体值,这样在会使body也具有块级的一定区域。
接下来可用js的顺序触发事件,利用标记的boolean变量屏蔽点击内部时外部事件的响应。

介于浏览器兼容(FireFox,IE6,IE7+)可有如下w3c解决方案:

 提示:您可以先修改部分代码再运行


[[i] 本帖最后由 wanglong8906 于 2010-7-15 14:13 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-15 16:15:37 | 显示全部楼层
感谢楼上两位,2楼的火狐下没反应;3楼这个必须给body加固定高度,现在页面高度不确定;不知道还有没有其他的方法
回复 支持 反对

使用道具 举报

发表于 2010-7-15 16:27:17 | 显示全部楼层
【解决方法一】
body{width:900px;min-height:200px;background:blue;}
可以加最小高度,因为body如果默认,是根据你的div自动撑大的,因此你的div是100*100的,body也是100*100的,所以就不存在div之外的东西了

【解决方法二】
将body获取改成整个页面的DOM文档。
即:

 提示:您可以先修改部分代码再运行


[[i] 本帖最后由 wanglong8906 于 2010-7-15 16:30 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-15 17:42:54 | 显示全部楼层
感谢 六月峰 的热心 谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-25 14:29 , Processed in 0.109100 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表