首页 > 代码库 > 事件冒泡和事件默认行为

事件冒泡和事件默认行为

1.原生态事件

取得原生态的事件对象:

<button onclick="get(event)" type="button">tijiao</button>

阻止事件冒泡:

1         //如果提供了事件对象,则这是一个非IE浏览器  2         if ( e && e.stopPropagation )3                //因此它支持W3C的stopPropagation()方法4                e.stopPropagation();5         else6             //否则,我们需要使用IE的方式来取消事件冒泡  7             e.cancelBubble = true;

阻止默认行为:

1        //如果提供了事件对象,则这是一个非IE浏览器   2         if ( e && e.preventDefault ){3             //阻止默认浏览器动作(W3C)   4           e.preventDefault();5             6         } else {7           //IE中阻止函数器默认动作的方式   8           e.returnValue = http://www.mamicode.com/false;9         }

 事件目标对象:

1         var target = null;2         if(e && e.srcElement) {3            //ie支持,ie10也包含属性target了。4            target =  e.srcElement;5         } else {6             target = e.target;7         }

 

 

2.Jquery事件

jquery对事件进行了封装,需要区分原生态event事件和jquery事件。jquery事件可以直接调用jquery api方法。

阻止默认行为:

 $("a").click(function(event) {               event.preventDefault();               $(‘<div/>‘).append(‘default ‘ + event.type + ‘ prevented‘).appendTo(‘#log‘);             });

阻止事件冒泡:

1 $("p").click(function(event){2     event.stopPropagation();    // do something3   });