事件及其案例

在事件处理函数中,event为其唯一的参数,包含了事件所有的信息和方法。这里我们挑几个常见的说一下:

  1. type:事件类型,和IE类似,但是没有“on”前缀,例如单击事件只是“click”。
  2. target:发生事件的节点。
  3. currentTarget:发生当前正在处理的事件的节点,可能是Target属性所指向的节点,也可能由于捕捉或者起泡,指向Target所指节点的父节点。
  4. eventPhase:指定了事件传播的阶段。是一个数字。
  5. timeStamp:事件发生的时间。
  6. bubbles:指明该事件是否冒泡。
  7. cancelable:指明该事件是否可以用preventDefault()方法来取消默认的动作。
  8. preventDefault()方法:取消事件的默认动作;
  9. stopPropagation()方法:停止事件传播。
  10. altKey,ctrlKey,shiftKey,meta:顾名思义,这些属性是指键盘、鼠标事件发生的时候,是否同时按住了Alt、Ctrl或者Shift键,返回的是一个布尔值。
  11. clientX、clientY:是指事件发生的时候,鼠标的横、纵坐标,返回的是整数,它们的值是相对于包容窗口的左上角生成的,在DOM标准中,这两个属性值都不考虑文档的滚动情况,也就是说,无论文档滚动到哪里,只要事件发生在窗口左上角,clientX和clientY都是0,但是在IE中,要想得到事件发生的坐标相对于文档开头的位置,要加上
    document.body.scrollLeft和document.body.scrollTop。
  12. keyCode:返回keydown和keyup事件发生的时候,按键的代码以及keypress事件的Unicode字符。比如event.keyCode=13代表按下了回车键
  13. button:声明了被按下的鼠标键,是一个整数。0代表鼠标左键,1代表鼠标的中间键,2代表鼠标右键

imgmove

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#img1 {
				position: absolute;
				top: 0px;
				left: 0px;
			}
		</style>
	</head>
	<body onkeydown="move(event)">
		<img id="img1" src="./img/t.jpg" alt="">
	</body>
	<script type="text/javascript">
		var top1 = 0;
		var left = 0;

		function move(e) {
			switch (e.keyCode) {
				case 37:
					left -= 5;
					break;
				case 38:
					top1 -= 5;
					break;
				case 39:
					left += 5;
					break;
				case 40:
					top1 += 5;
					break;
			}
			var img1 = document.getElementById("img1");
			img1.style.top = top1 + "px";
			img1.style.left = left + "px";
		}
	</script>
</html>

ketpress

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" id="what"  onkeypress="search(event)"/>
	</body>
	<script type="text/javascript">
		function search(e){
			if(e.keyCode == 13){
				var what = document.getElementById("what");
				alert("开始搜索:"+what.value);
			}
		}
	</script>
</html>

事件的注册

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- 第一种注册方式 -->
		<input type="text" id="text1" onfocus="focus1()" />
	</body>
	<script type="text/javascript">
		var text1=document.getElementById("text1");
		//
		text1.onblur=blur2;
		//
		text1.addEventListener("change",function(){
			alert("值改变了")
		});
		function focus1(){
			text1.style.backgroundColor="blue";
		}
		function blur2(){
			var text1=document.getElementById("text1");
			text1.style.backgroundColor="gray";
		}
	</script>
</html>

onmousemove

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#div1{
				width: 100px;
				height: 100px;
				background-color: skyblue;
			}
		</style>
	</head>
	<body>
		<div id="div1" onmousemove="move(event)"></div>
		<img id="img1" src="" alt="">
		鼠标坐标<p id="p1"></p>
	</body>
	<script type="text/javascript">
		function move(e){
			var p1=document.getElementById("p1");
			var img1=document.getElementById("img1");
			p1.innerText=e.clientX+","+e.clientY;
			img1.style.top=e.clientY+"px";
			img1.style.left=e.clientX+"px";
		}
	</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值