JS模块六(事件与节点)

JS模块六(事件与节点)

键盘事件

	//onkeydown 按键按下时弹出
	//onkeyup 按键松开
	//onkeypress按下并松开
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" id="" value="" onkeypress="show(event)">
	</body>
</html>
<script type="text/javascript">
	function show(e){
		alert(e.keyCode);
	}
</script>

鼠标事件

	//onmousedown 鼠标按下
	//onmouseup 鼠标松开
	//onmouseover 鼠标移上
	//onmouseout 鼠标移出
	//e.button e.which
	//0左键 1滑轮 2右键
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div{
				height: 33px;
				width: 77px;
				background: black;
			}
		</style>
	</head>
	<body>

		
		<div id="d1" onmousedown="show(this)" onmouseup="show1(this)" onmouseout="show2(this)" onmouseover="show3(this)"></div>
	</body>
</html>
<script type="text/jscript">
	function show(obj){
		obj.style.backgroud="gray";
	}
	function show1(obj){
		obj.style.backgroud="brown";
	}
	function show2(obj){
		obj.style.backgroud="blue";
	}
	function show3(obj){
		obj.style.backgroud="green";
	}
</script>

加载与卸载

//onload 一张页面或图片加载完成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			window.onload = function() {
				var btn = document.getElementsByTagName('button')[0];
				alert(btn);
			}
		</script>
	</head>
	<body>
		<button type="button">一树梨花</button>
	</body>
</html>

切换事件

onchange  改变下拉选项时监听
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<select name="" onchange="show()">
			<option>333</option>
			<option>777</option>
			<option>111</option>
		</select>
	</body>
</html>
<script type="text/jscript">
	function show(obj) {
		alert("已切换")
	}
</script>

选择事件

onselect 选中文字
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" name="" id="" value="这是默认值" onselect="show()"/>
	</body>
</html>
<script type="text/jscript">
	function show(obj) {
		alert("选中了")
	}
</script>

事件对象

	//事件对象中 有此属性 也能获取到绑定了该事件的元素对象
		//currentarget 获取的是绑定了该事件的那个元素对象
		//traget 获取的是触发了该事件的元素对象
		//type 获取事件类型
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.wai {
				width: 333px;
				height: 177px;
				background: #000000;
			}
		</style>
	</head>
	<body>
		<div class="wai" onclick="show(event)">
			<button type="button">xx</button>
		</div>
	</body>
</html>
<script type="text/jscript">
	function show(e) {
		var m = e.target;
		var mm = e.currentarget;
		m.style.background = "blue";
		alert(e.type);
	}
</script>

事件冒泡

e.stopPropagation(); 阻止事件冒泡
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.o1 {
				width: 333px;
				height: 177px;
				background: #5eff45;
			}

			.o2 {
				width: 222px;
				height: 177px;
				background: #38beaf;
			}

			.o3 {
				width: 111px;
				height: 177px;
				background: #910838;
			}
		</style>
	</head>
	<body>
		<div class="o1" onclick="show1(event)">
			1
			<div class="o2" onclick="show2(event)">
				2
				<div class="o3" onclick="show3(event)">
					3
				</div>
			</div>
		</div>
	</body>
</html>
<script type="text/jscript">
	function show1(e){
		e.stopPropagation();
		alert(111111);
	}
	function show2(e){
		e.stopPropagation();
		alert(222222);
	}
	function show3(e){
		e.stopPropagation();
		alert(333333);
	}
</script>

阻止表单提交

e.preventDefault(); //阻止元素的默认行为
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form action="#" method="get" onsubmit="tijiao(event)">
			<input type="text" name="username" value="" />
			<br />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>
<script type="text/jscript">
	function tijiao(e) {
		e.preventDefault(); //阻止元素的默认行为
		alert("异步提交");
	}
</script>

onmouseenter与mouseenter的区别

节点操作

  • 不会忽略空文本
document.body.firstChild; //注意空文本
document.body.firstChild.nextSibling;//下一个节点 兄节点
document.body.firstChild.nextSibling.previousSibling;//上一个节点 弟节点
  • 忽略空文本
document.body.firstElementChild; 第一个元素
document.body.lastElementChild; 最后一个元素
o1.nextElementSibling 下一个元素
o1.nextElementSibling.previousElementSibling 上一个元素
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div class="o1" onclick="show1(event)">

			<div class="o2" onclick="show2(event)">

				<div class="o3" onclick="show3(event)">
					3xc3
				</div>
			</div>
		</div>
		<h1>33333</h1>
		<h2>33333</h2>
		<p>33333</p>
	</body>
</html>
<script type="text/jscript">
	var a = document.all;
	var obj = document.body.firstChild; //注意空文本
	alert(obj);
	var objc = document.body.firstChild.nextSibling;
	alert(objc);//下一个节点 兄节点
	var objcx = document.body.firstChild.nextSibling.previousSibling;
	alert(objcx);//上一个节点 弟节点
	var o1=document.body.firstElementChild;
	alert(o1);
	alert(o1.nextElementSibling);
	var o2=document.body.lastElementChild;
	alert(o2);
	alert(o1.nextElementSibling.previousElementSibling);
</script>

待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值