事件流
一、IE的事件流成为事件冒泡;与之相对的还有事件捕捉。
二、事件绑定的三种方式
1)html事件处理
<input type="button" οnclick="fun()">
2)DOM0级事件
<input type="button" id="mybtn" >
<script>
var btn=document.getElementById('mybtn');
btn.οnclick=function(){
}
</script>
3)DOM2级事件
非IE btn.addEventListener('click',function(){},true);
true表示事件捕捉,false表示事件冒泡。
IE:btn.attachEvent('onclick',function(){});IE 本身就是事件冒泡,没有第三个参数
问题来了,DOM2级事件的过程3个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。第三个参数控制事件的执行时间。
阻止冒泡:
w3c event.stopPropagation();
IE event.cancelBubble=true;
取消默认动作:
注意有一些动作是不能被取消的:mousemove,load
W3C e.preventDefault();
IE e.returnValue=false;
一、IE的事件流成为事件冒泡;与之相对的还有事件捕捉。
二、事件绑定的三种方式
1)html事件处理
<input type="button" οnclick="fun()">
2)DOM0级事件
<input type="button" id="mybtn" >
<script>
var btn=document.getElementById('mybtn');
btn.οnclick=function(){
}
</script>
3)DOM2级事件
非IE btn.addEventListener('click',function(){},true);
true表示事件捕捉,false表示事件冒泡。
IE:btn.attachEvent('onclick',function(){});IE 本身就是事件冒泡,没有第三个参数
问题来了,DOM2级事件的过程3个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。第三个参数控制事件的执行时间。
阻止冒泡:
w3c event.stopPropagation();
IE event.cancelBubble=true;
取消默认动作:
注意有一些动作是不能被取消的:mousemove,load
W3C e.preventDefault();
IE e.returnValue=false;