<div onclick="scitylist(this,event)" >
<em id="cityshow">北京</em>
</div>
<div class="smenu">
<ul >
<li onclick="choosecity(this);" >北京</li>
<li onclick="choosecity(this);" >上海</li>
<li onclick="choosecity(this);" >广州</li>
<li onclick="choosecity(this);" >深圳</li>
</ul>
</div>
刚开始上面的html对应上面的效果,当点击上面的框出现下拉的城市列表,当不选择列表中的选项也就是点击页面空白处,下拉的城市列表消失
func function stopP(e)
{
var evt = e || window.event;
//IE用cancelBubble=true来阻止而FF下需要用stopPropagation方法
evt.stopPropagation ? evt.stopPropagation() : (evt.cancelBubble=true);
}
上面的代码是阻止事件冒泡
function scitylist (obj,event){
stopP(event);//阻止事件冒泡
$(obj).parent().children(".smenu").css("display","block");
}
$(document).bind('click',function(){ $(".smenu").css("display","none"); });//点击页面空白处,下拉的城市列表消失
2.document.onclick在IE浏览器上无效,解决办法是在document上绑定click事件
$(document).bind('click',function(){ $(".smenu").css("display","none"); });