5

49 阅读1分钟
什么是事件委托

事件委托就是将本来自己该做的事情,委托给其他人做,利用冒泡的原理,将事件加在父级元素的身上,以此来触发执行的效果。

好处:提高性能;新添加的元素也可以执行之前的事件。

怎么阻止默认动作

有些HTML元素存在默认的行为,比如说当点击a标签的时候,会执行跳转,点击form表单中的submit的时候,会提交表单并且跳转,为了阻止这种浏览器的默认行为,JS提供了相对应的方法。

var $a = document.getElementsByTagName("a")[0];
 $a.onclick = function(e){
     alert("跳转动作被我阻止了")
     e.preventDefault();
     //return false;//也可以
 }

当使用e.preventDefault()的时候,事件的默认行为就会被阻止了。

return falsee.preventDefault()其实也是有区别的,仅仅是在HTML事件属性 和 DOM0级事件处理方法中 才能通过返回 return false 的形式组织事件宿主的默认行为。

怎么阻止事件冒泡
function stopBubble(e){
  if(e&&e.stopPropagation){//非IE
   e.stopPropagation();
  }
  else{//IE
   window.event.cancelBubble=true;
  }
 } 

如果不是IE的话,直接用 e.stopPropagation(),如果是IE的话,就用window.event.cancelBubble=true