js关于防止事件起泡

如,有 

   <div id="a">

      <div id="b"/>

  <div>

,则,b.click 事件触发的同时,,一般会触发 a.click

,像event,jquery有的,stopPropagation之类的,就不说了,这里是另外一种思路

可以注意到的是,顺序只是b.click执行完了,才会去执行a.click的,

所以,可以设置一个标志,

flag=true,

b.click,a.click执行时(因为有时,a.click和b.click是执行同一个函数),如果flag为false,则不执行,否则可以执行(click),

而,

b.click的代码最后,追加,flag=false,setTimeout("flag=true",100);

意思就是用时间差来控制它,

 

posted @ 2017-07-25 09:32  以函  阅读(111)  评论(0编辑  收藏  举报