Event(事件)

event(事件):
1. 什么是事件:事件是可以被JavaScript侦测到的行为
1.2 现代浏览器和古代浏览器(IE8之前的浏览器)获取元素并绑定事件监听器
<body>
  <div class="wrapper" id="ie"></div>
</body>
<script type = "type="text/javascript"">
			//事件处理函数
			// 对于 Chrome 、FireFox 、IE 8+ 来说,所有的 事件监听器( EventListener ) 的第一个参数都是 事件 实例
            // 对于 IE 8 - 来说,并不是这样,而是需要通过 window 对象上绑定的 event 来获取这个 事件 实例
		    var listener = function(){
	                var e = arguments[ 0 ] || window.event ;   //获取事件对象


	               //Event.srcElement和Event.target作用一样
	               //srcElement是非标准API (适用于不断作死的IE浏览器)
	                var t = e.target || e.srcElement ;  //获取事件源目标(通俗来讲就是事件产生之地)
	                alert( t );
	            };
// 针对 现代浏览器 获取元素并绑定 事件监听器 ( listener )
            // document.querySelector( ".wrapper" ).addEventListener( "click" , listener , true );
            
// 针对 古代浏览器 获取元素 并绑定 事件处理函数( listener )
            var w = document.getElementById( "ie" );
            w.onclick = listener ;
</script>
1.2.1鼠标事件
鼠标状态状态说明
onclick当用户点击某个对象时调用的事件
ondblclick当用户双击某个对象时调用的事件
onmousedown鼠标按钮被按下
onmouseup鼠标按键被松开
onmouseover鼠标移到某元素之上
onmouseout鼠标从某元素移开
mouseenter在鼠标光标从元素外部移动到元素范围之内时触发。这个事件不冒泡
mouseleave在位于元素上方的鼠标光标移动到元素范围之外时触发。这个事件不冒泡
注:click = mousedown + mouseup, dblclick = click*2(短时间内两次单击)
执行顺序:mouseover=>mouseenter; mouseout => mouseleave
1.2.2键盘事件


1.2.3表单事件
状态状态说明
onselect输入框文本被选中
onblur元素失去焦点时触发
onfocus素获得焦点时触发
onreset重置按钮被点击
onsubmit确认按钮被点击
oninput输入字符时触发
1.2.4 UI事件
状态
onload页面元素(包括图片多媒体等)加载完成后
onbeforeunload用户退出页面
onresize窗口或框架被重新调整大小
2. Evlent对象(通俗的来讲就是让某个事件产生的对象。如键盘,鼠标)
2.1 获取Evlent对象:
alert( arguments[ 0 ] ) ; // 现代浏览器都支持

alert( window.event ); // 针对 IE 系列尤其是 IE 8 以前的上古浏览器(作死时代的浏览器)

获取event对象的兼容写法: var  e = arguments[ 0 ] ||  window.event;
3 事件传播
3.1事件源对象(事件源对象为触发事件的元素)
标准:event.target;
IE8-:event.srcElement;

兼容性写法:

var target = event.target || event.srcElement
3.2 事件冒泡
document.querySelector( ".outer" ).addEventListener( "click" , listener , false ); // false 表示冒泡     
document.querySelector( ".wrapper" ).addEventListener( "click" , listener , false ); // false 表示冒泡
document.querySelector( ".inner" ).addEventListener( "click" , listener , false ); // false 表示冒泡     
3.3事件监听与捕获(反冒泡)
document.querySelector( ".outer" ).addEventListener( "click" , listener , true ); // true 表示捕获    
document.querySelector( ".wrapper" ).addEventListener( "click" , listener , true ); // true 表示捕获
document.querySelector( ".inner" ).addEventListener( "click" , listener , true ); // true 表示捕获    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值