代碼實例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>點擊頁面其他地方隱藏div-螞蟻部落</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
}
.main{
cursor:pointer;
}
.list{
border:1px solid black;
display:none;
}
.list li{
cursor:pointer;
border:1px solid red;
list-style:none;
}
#noPopEvent{
width:100px;
height:100px;
background-color:blue;
font-size:12px;
margin:200px;
text-align:center;
line-height:100px;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".main").click(function(e){
$(".list").toggle();
e.stopPropagation();
})
$(document).click(function(){
$(".list").hide();
})
$(".list li").click(function(){
$(".main").text($(this).text());
$(".list").hide();
})
$("#noPopEvent").click(function(e){
e.stopPropagation();
})
});
</script>
</head>
<body>
<div style="width:200px;margin:20px;">
<div class="main">螞蟻部落</div>
<div class="list">
<ul>
<li>div+css教程</li>
<li>javascript教程</li>
</ul>
</div>
</div>
<div id="noPopEvent">點我不行</div>
</body>
</html>
以上代碼中,點擊螞蟻部落能夠出現二級菜單,當點擊頁面的其他任何地方都會隱藏此二級菜單,但是點擊藍色的部分不能夠隱藏二級菜單,下面就介紹一下此效果的實現過程。
一.實現原理:
原理很簡單,藍色區域的click事件采用了添加了阻止冒泡的功能,其他的地方都沒有阻止冒泡,所以當點擊的時候事件能夠冒泡到document,然后將二級下拉才菜單隱藏。
二.代碼注釋:
1.$(document).ready(function(){ }),當文檔結構加載岸壁再去執行函數中的代碼。
2.$(".main").click(function(e){ }),當點擊螞蟻部落的時候能夠實現二級下拉菜單隱藏和顯示的切換。
3.$(".list").toggle(),下拉菜單顯示和隱藏的切換。
4.e.stopPropagation(),阻止事件冒泡,否則的話冒泡都document,那么二級菜單始終處於隱藏狀態。
5.$(document).click(function(){}),將click時間注冊到document,這樣點擊任何其他地方都可以將事件冒泡到document,然后將二級菜單隱藏,除非阻止了事件冒泡效果。
6.$(".list").hide(),隱藏二級菜單。
7.$(".list li").click(function(){}),點擊二級菜單的某一項,能夠將當前文本寫入主體中去,然后再隱藏二級菜單。
8.$(".main").text($(this).text()),將點擊的二級菜單的文本寫入主體中去。
9.$(".list").hide(),隱藏二級下拉菜單。
10.$("#noPopEvent").click(function(e){}),為藍色塊注冊事件處理函數,不過阻止了事件冒泡效果,所以二級菜單不會隱藏。
一.實現原理:
原理很簡單,藍色區域的click事件采用了添加了阻止冒泡的功能,其他的地方都沒有阻止冒泡,所以當點擊的時候事件能夠冒泡到document,然后將二級下拉才菜單隱藏。
二.代碼注釋:
1.$(document).ready(function(){ }),當文檔結構加載岸壁再去執行函數中的代碼。
2.$(".main").click(function(e){ }),當點擊螞蟻部落的時候能夠實現二級下拉菜單隱藏和顯示的切換。
3.$(".list").toggle(),下拉菜單顯示和隱藏的切換。
4.e.stopPropagation(),阻止事件冒泡,否則的話冒泡都document,那么二級菜單始終處於隱藏狀態。
5.$(document).click(function(){}),將click時間注冊到document,這樣點擊任何其他地方都可以將事件冒泡到document,然后將二級菜單隱藏,除非阻止了事件冒泡效果。
6.$(".list").hide(),隱藏二級菜單。
7.$(".list li").click(function(){}),點擊二級菜單的某一項,能夠將當前文本寫入主體中去,然后再隱藏二級菜單。
8.$(".main").text($(this).text()),將點擊的二級菜單的文本寫入主體中去。
9.$(".list").hide(),隱藏二級下拉菜單。
10.$("#noPopEvent").click(function(e){}),為藍色塊注冊事件處理函數,不過阻止了事件冒泡效果,所以二級菜單不會隱藏。