事件

什么是事件?
人与机的交互就是事件。

事件类型

ui事件
onscroll 滚动条事件
onload 页面加载触发
unload 页面关闭触发
onselect 选中文本时触发
onresize 改变浏览器窗口触发
onabort 图像加载被中断触发
error 错误信息时触发
onchange 当改变一个元素的值且失去焦点时

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body style="height:3000px">
		<input type="text" name="" id="" value="哈哈哈哈" />
		
		
	</body>
	<script type="text/javascript">
//		window.οnscrοll=function(){
//			var h=document.documentElement.scrollTop||document.body.scrollTop;
//			console.log(h)
//		}

		var oinput=document.querySelector('input');
		oinput.onselect=function(){
			console.log(12312)
		}
	</script>
</html>

焦点事件
onfocus 获得焦点事件(没有冒泡,浏览器都支持)
onblur 失去焦点事件(没有冒泡,浏览器都支持)
onfocusin 获得焦点事件(有冒泡,IE支持)
onfocusout 失去焦点事件(有冒泡,IE支持)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 300px;
				height: 300px;
				background: red;
			}
		</style>
	</head>
	<body>
		<div>
			<input type="text" name="" id="" value="" />
		</div>
	</body>
	<script type="text/javascript">
		var oinp=document.getElementsByTagName('input')[0];
		var obox=document.getElementsByTagName('div')[0];
//		oinp.οnblur=function(){
//			console.log(2312312)
//		}
//		oinp.οnfοcus=function(){
//			console.log('kkkkkkk')
//		}
		
//		obox.οnfοcusin=function(){
//			alert(123123)
//		}
		obox.onfocusout=function(){
			console.log('坎坎坷坷')
		}
	</script>
</html>

鼠标事件
onclick 当用户单击对象时
ondblclick 当用户双击对象时
onmouseout 移出事件
onmouseover 移入事件
onmousemove 移入元素的内部不断的移动时触发
onmousedown 在用户按下了任意鼠标按钮时触发
onmouseup 在用户释放鼠标按钮时触发

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<button>点击</button>
	</body>
	<script type="text/javascript">
		var obtn=document.getElementsByTagName('button')[0];
//		obtn.οnclick=function(){
//			alert()
//		}

//		obtn.οndblclick=function(){
//			alert()
//		}

//		obtn.οnmοuseοut=function(){
//			alert()
//		}

//		obtn.οnmοuseοver=function(){
//			alert()
//		}

//		obtn.οnmοusemοve=function(){
//			alert()
//		}

//		obtn.οnmοusedοwn=function(){
//			alert()
//		}

//		obtn.οnmοuseup=function(){
//			alert()
//		}
	</script>
</html>

键盘事件
onKeydown 当用户按下键盘上的任意键时触发。
onKeypress 当用户按下键盘上的字符键时触发。
onKeyup 当用户释放键盘上的键时触发。
keyCode 返回键盘键对应的编码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div></div>
	</body>
	<script type="text/javascript">
		var obox=document.getElementsByTagName('div')[0];
//		window.οnkeydοwn=function(evt){
//			var e=event||window.event;
//			obox.innerHTML=e.keyCode;//keyCode 键盘编码
//		}

//		window.οnkeypress=function(evt){
//			var e=event||window.event;
//			obox.innerHTML=e.keyCode;//keyCode 键盘编码
//		}

		window.onkeyup=function(evt){
			var e=event||window.event;
			obox.innerHTML=e.keyCode;//keyCode 键盘编码
		}
	</script>
</html>

获取鼠标在可视窗口的位置

clientX 鼠标在x轴的位置
clientY 鼠标在y轴的位置

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			p{
				position: fixed;
			}
		</style>
	</head>
	<body style="height: 3000px;">
		<p style="margin: 50px;"></p>
		<p style="margin: 150px;"></p>
		<p></p>
	</body>
	<script type="text/javascript">
	var op1=document.getElementsByTagName('p')[0];
	var op2=document.getElementsByTagName('p')[1];
	var op3=document.getElementsByTagName('p')[2];
		window.onmousemove=function(e){
			var e=e||window.event;
			op1.innerHTML='我是可视区域'+e.clientX+','+e.clientY;
			op2.innerHTML='我是页面区域'+e.pageX+','+e.pageY;
			op3.innerHTML='我是屏幕区域'+e.screenX+','+e.screenY;
		}
	</script>
</html>

获取鼠标在页面的坐标位置

pageX 鼠标在页面x轴的位置
pageY 鼠标在页面y轴的位置

获取鼠标在屏幕坐标位置

screenX 鼠标在屏幕的x轴的位置
screenY 鼠标在屏幕的y轴的位置

获取到鼠标在当前div(元素)上的坐标位置

offsetY
offsetX 火狐浏览器不兼容
layerX 火狐浏览器兼容
layerY

获取可视窗口的宽高/获取屏幕窗口的宽高

可视:clientWidth/clientHeight
屏幕:screenWidth/screenHeight

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 300px;
				height: 300px;
				background: red;
			}
		</style>
	</head>
	<body>
		<div></div>
		<p></p>
	</body>
	<script type="text/javascript">
		var obox=document.getElementsByTagName('div')[0];
		var op=document.getElementsByTagName('p')[0];
		obox.onmousemove=function(e){
			var e=e||window.event;
			op.innerHTML=e.offsetX+','+e.offsetY;
		}
		
		
		
	</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值