为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我点击li列表时没有添加阻止冒泡,也能正常关闭列表啊

 <script type="text/javascript">

window.onload=function(){

var box=document.getElementById('divselect'),

   title=box.getElementsByTagName('cite')[0],

   menu=box.getElementsByTagName('ul')[0],

   as=box.getElementsByTagName('a'),

        index=-1;

   

    // 点击三角时

    title.onclick=function(event){

      // 执行脚本

      menu.style.display='block';

      event=event || window.event;

      event.stopPropagation();

    }  

    

   // 滑过滑过、离开、点击每个选项时

      // 执行脚本

    var li=menu.getElementsByTagName('li');

    for(var i=0;i<li.length;i++){

        li[i].onmouseover=function(){

            this.style.backgroundColor='#ccc';

        }

        li[i].onmouseout=function(){

            this.style.backgroundColor='#fff';

        }

        li[i].onclick=function(){

            menu.style.display='none';

            title.innerHTML=this.getElementsByTagName('a')[0].innerHTML;

        }

    }

   // 点击页面空白处时

       // 执行脚本

    document.onclick=function(){

        menu.style.display='none';

        

    }

 }

   </script>


正在回答

2 回答

因为document.onclick隐藏了,除了点title 阻止了冒泡,其他地方都是冒泡,点li也是,就隐藏了

0 回复 有任何疑惑可以回复我~

因为这里的ul和cite元素是同一层的,你的显示列表事件是绑定在cite里的,当你触发li下面的事件时只会向上冒泡:a-li-ul-div-document,并不会触及cite

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我点击li列表时没有添加阻止冒泡,也能正常关闭列表啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信