首页 > 编程语言 >JavaScript 事件的绑定

JavaScript 事件的绑定

时间:2023-07-03 11:46:24浏览次数:53  
标签:function 绑定 JavaScript alert 事件 addEventListener 响应函数 btn01

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			window.onload = function(){
				
				/*
				 * 点击按钮以后弹出一个内容
				 */
				//获取按钮对象
				var btn01 = document.getElementById("btn01");
				
				/*
				 * 使用 对象.事件 = 函数 的形式绑定响应函数,
				 * 	它只能同时为一个元素的一个事件绑定一个响应函数,
				 * 	不能绑定多个,如果绑定了多个,则后边会覆盖掉前边的
				 */
				
				//为btn01绑定一个单击响应函数
				/*btn01.onclick = function(){
					alert(1);
				};*/
				
				//为btn01绑定第二个响应函数
				/*btn01.onclick = function(){
					alert(2);
				};*/
				
				/*
				 * addEventListener()
				 * 	- 通过这个方法也可以为元素绑定响应函数
				 *  - 参数:
				 * 		1.事件的字符串,不要on
				 * 		2.回调函数,当事件触发时该函数会被调用
				 * 		3.是否在捕获阶段触发事件,需要一个布尔值,一般都传false
				 * 
				 * 使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,
				 * 	这样当事件被触发时,响应函数将会按照函数的绑定顺序执行
				 * 
				 * 这个方法不支持IE8及以下的浏览器
				 */
				/*btn01.addEventListener("click",function(){
					alert(1);
				},false);
				
				btn01.addEventListener("click",function(){
					alert(2);
				},false);
				
				btn01.addEventListener("click",function(){
					alert(3);
				},false);*/
				
				/*
				 * attachEvent()
				 * 	- 在IE8中可以使用attachEvent()来绑定事件
				 *  - 参数:
				 * 		1.事件的字符串,要on
				 * 		2.回调函数
				 * 
				 *  - 这个方法也可以同时为一个事件绑定多个处理函数,
				 * 		不同的是它是后绑定先执行,执行顺序和addEventListener()相反
				 */
				/*btn01.attachEvent("onclick",function(){
					alert(1);
				});
				
				btn01.attachEvent("onclick",function(){
					alert(2);
				});
				
				btn01.attachEvent("onclick",function(){
					alert(3);
				});*/
				
				/*btn01.addEventListener("click",function(){
					alert(this);
				},false);*/
				
				/*btn01.attachEvent("onclick",function(){
					alert(this);
				});*/
				
				bind(btn01 , "click" , function(){
					alert(this);
				});
			
				
			};
			
			//定义一个函数,用来为指定元素绑定响应函数
			/*
			 * addEventListener()中的this,是绑定事件的对象
			 * attachEvent()中的this,是window
			 *  需要统一两个方法this
			 */
			/*
			 * 参数:
			 * 	obj 要绑定事件的对象
			 * 	eventStr 事件的字符串(不要on)
			 *  callback 回调函数
			 */
			function bind(obj , eventStr , callback){
				if(obj.addEventListener){
					//大部分浏览器兼容的方式
					obj.addEventListener(eventStr , callback , false);
				}else{
					/*
					 * this是谁由调用方式决定
					 * callback.call(obj)
					 */
					//IE8及以下
					obj.attachEvent("on"+eventStr , function(){
						//在匿名函数中调用回调函数
						callback.call(obj);
					});
				}
			}
			
		</script>
	</head>
	<body>
		
		<button id="btn01">点我一下</button>
	</body>
</html>

标签:function,绑定,JavaScript,alert,事件,addEventListener,响应函数,btn01
From: https://www.cnblogs.com/chuixulvcao/p/17522358.html

相关文章

  • JavaScript 事件的传播
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <styletype="text/css"> #box1{ width:300px; height:300px; background-color:yellowgreen; } ......
  • JavaScript 事件的委派
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <scripttype="text/javascript"> window.onload=function(){ varu1=document.getElementById("......
  • 【PHP语言】医院安全(不良)事件报告系统
    技术架构:前后端分离,仓储模式,开发语言:PHP开发工具:vscode前端框架:vue2+element后端框架:laravel8数据库:mysql5.7系统概述:医院安全(不良)事件报告系统是一种用于医院管理和监管的工具,旨在帮助医疗机构识别、跟踪、分析和解决各种医疗安全事件,提高医疗质量和患者安全。医院安全(......
  • WPF处理未捕获异常和程序退出事件
    Application和AppDomain都有Exit事件,程序正常退出,会依次调用Application的Exit事件和Appdomain的Exit事件。如果是因为未捕获的异常导致程序退出,则不会调用任何Exit事件。Appdomain的Exit事件不要再出现UI元素,如弹窗之类的,会导致异常。AppDomain.UnhandledException会捕获所有T......
  • 如何在JavaScript中使用Promise.allSettled()
    您是否曾经在JavaScript中使用过Promise,并且当有人拒绝并毁掉一切时感到沮丧?你编写了一些基于Promise的代码,一切都进展顺利,然后繁荣——一个小小的Promise被拒绝,整个链条就会崩溃。你的代码逐渐停止,你想知道为什么JavaScript不能忽略这个小问题并继续它的快乐之路。好......
  • JavaScript 算法和数据结构之——基础JavaScript 笔记
    做整理是为了知识更加系统一些,遂记录参考资料js基础算法JavaScript字符串可以用单引号或双引号查找字符串长度.length空格符也会计算在内使用方括号查找字符串中的第一个字符方括号表示法(Bracketnotation)是一种在字符串中的特定index(索引)处获取字符的方法xxx[0]获取......
  • activiti中的事件
    activiti中常见的事件按事件可以出现的位置可以分为开始事件、结束事件、边界事件、中间事件。按事件的类型分可以分为信号事件、消息事件、error事件,定时器事件按照事件的特性可以分为Catching事件和Throwing事件,Catching会一直等待被触发,Throwing事件会自动触发并反馈结果,......
  • redirect-django-url-with-javascript
    https://www.appsloveworld.com/django/100/279/redirect-django-url-with-javascriptscore:3AcceptedanswerYoucanusethis:window.location.href="{%url'app:result'%}" score:1djangotemplatetagsworkinsidethedjangotem......
  • c#学习笔记---------------------事件
    一、事件的原理事件(Event)定义:类 或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发布者”,接收(或处理)事件的类称为“订阅者”。在典型的C#Windows窗体或Web应用程序中,可订阅由按钮和列表框等控件引发的事件。可以使用VisualC#集成开......
  • JavaScript逻辑运算符AND和OR之间的区别
    AND&&和OR||是JavaScript中的逻辑运算符,可用于执行不同的逻辑表达式。在这篇文章中,我将解释它们之间的区别。本文的目标是让您了解这些运算符的工作原理以及它们的不同之处。要理解这些运算符,了解JavaScript中真值和假值的概念非常重要。(更|多优质内|容:java567点c0m) ......