js实现的点击div区域外隐藏div区域(转)
2024-10-01 08:34:55
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。
阻止冒泡:
1、stopPropagation()对于非IE浏览器。
2、cancelBubble属性为true,对于IE浏览器,而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js">
</script>
<title>
</title>
</head>
<style type="text/css">
body { background-color:#999999; } #myDiv { background-color:#FFFFFF;
width:250px; height:250px; display:none; }
</style> <body>
<input id="btn" type="button" value="显示DIV" />
<div id="myDiv">
This is a div;
</div>
</body>
<script type="text/javascript">
var myDiv = $("#myDiv");
$(function() {
$("#btn").click(function(event) {
showDiv(); //调用显示DIV方法
$(document).one("click",
function() { //对document绑定一个影藏Div方法
$(myDiv).hide();
}); event.stopPropagation(); //阻止事件向上冒泡
});
$(myDiv).click(function(event) { event.stopPropagation(); //阻止事件向上冒泡
});
});
function showDiv() {
$(myDiv).fadeIn();
}
</script>
最新文章
- 本周psp个人作业
- ubuntu 14.04 ns2.35 ***buffer overflow detected **: ns terminated解决办法
- php捕捉来自搜索引擎的用户IP地址时间和访问路径
- Scalaz(42)- Free :FreeAp-Applicative Style Programming Language
- BroadcastReceive之ip拨号
- # 20145334 《Java程序设计》第9周学习总结
- 数据库dump导入
- 解决IE上登陆oracle OEM时报:“证书错误,导航已阻止”的错误
- [转载] 每周推荐阅读 BFQ:实现IO的隔离共享与高吞吐访问
- linux下生成 SSH 公钥,用于GitHub
- lsof,nc
- (转载)linux中shell变量
- Android上传文件之FTP
- 如何成为一个牛逼的C/C++程序员?
- Selenium Python 安装指导
- 活动倒计时-兼容ios
- 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
- 微信小程序入门(五)
- java无锁化编程一:目录
- hbase版本升级的api对比