1.原生态事件
取得原生态的事件对象:
<button onclick="get(event)" type="button">tijiao</button>
阻止事件冒泡:
1 //如果提供了事件对象,则这是一个非IE浏览器 2 if ( e && e.stopPropagation ) 3 //因此它支持W3C的stopPropagation()方法 4 e.stopPropagation(); 5 else 6 //否则,我们需要使用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 = 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 something 3 });
事件冒泡和事件默认行为
时间: 2024-10-10 05:15:58