D 04_JS事件的两种绑定方式,元素绑定和DOM绑定




JS事件的两种绑定方式

1,元素事件句柄绑定

将事件以元素属性的方式写到标签内部进而绑定对应函数

 

 

示例1:【为事件绑定一个无参函数】

示例2:【为事件绑定一个有参函数】

示例3:【为事件绑定一个有参函数-this

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="text" value="1111" οnclick="run1()" />
		<input type="text" value="2222" οnclick="run2('2222')"/>
		<input type="text" value="3333" οnclick="run3(this)"/>
		
	</body>
	
	<script type="text/javascript">
		function run1(){
			alert("你好呀")
		}
		function run2(str){
			alert(str)
		}
		function run3(obj){
			alert(obj.value())
		}
	</script>
</html>

 


示例4:【为事件绑定多个函数】

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<!--多重调用,同时调用几个方法 -->
		<input type="text" name="uname" οnclick="run1(),run2(),run3()" />
		<script>
			function run1(){
				alert("ffff1")
			}
			function run2(){
				alert("ffff2")
			}
			function run3(){
				alert("ffff3")
			}
			
		</script>
	</body>
</html>

 

 

事件句柄绑定方式-

优点①开发快捷

  ②传参方便

  ③可以绑定多个函数

缺点JSHTML代码高度糅合在一起,不利于多部门的项目开发维护



 

2,DOM绑定方式

使用DOM的属性方式绑定事件。

示例1:【将下述绑定转为DOM方式绑定】

示例2:【使用DOM绑定方式,为文本框onclick事件绑定run1方法】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			function run1(){
				alert("加载完毕");
			}
			//DOM绑定方式,对象,事件属性
			//window.οnlοad=run1;
			
			//DOM绑定方式,可以绑多次,绑定多个方法
			window.οnlοad=function(){
				run1();
			}
		</script>
	</body>
</html>


 

 

 

 

DOM绑定方式-

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			/*
			 * 用DOM表单将js和html完全分开,提高了代码的可维护性
			 */
			function run1(){
				alert("run1被调用了");
			}
			function run2(){
				alert("run2被调用了");
			}
			window.οnlοad=function (){
				var t1=document.getElementById("t1")
				t1.οnclick=function (){
					run1();
					run2();
				}
			}
		</script>
	</head>

	<body>

		<input type="text" id="t1" />

	</body>

</html>



优点使得HTML代码和JS代码完全分离

缺点①不能传递参数。    解决:匿名函数是可以的

  ②一个事件只能绑定一个函数    解决:匿名函数内部是可以绑定多个哈数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值