Js阻止事件冒泡和document.onclick在IE浏览器上无效

时间:2022-09-07 11:25:21
<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>

Js阻止事件冒泡和document.onclick在IE浏览器上无效

刚开始上面的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.onclickIE浏览器上无效,解决办法是在document上绑定click事件


$(document).bind('click',function(){ $(".smenu").css("display","none"); });