js 事件绑定的几种方法

js 事件绑定

js中事件的绑定主要分为DOM 0 和DOM 2 中的方法

DOM0的事件绑定

直接在dom对象上绑定事件。列如:div.nclick =function(){};
特点:
一个DOM对象只能注册一个同类型的函数,因为注册多个同类型的函数的话,就会发生覆盖,之前注册的函数就会无效。
适用所有的浏览器

<button>点击</button>
		<script type="text/javascript">
			var btn = document.getElementsByTagName("button")[0];
			btn.onclick= function(){
				console.log("你好")
			}
			btn.onclick= function(){
				console.log("你好!!")
			}

		</script>

在这里插入图片描述

使用btn.onclick = null去清除删除事件处理程序。

DOM2的事件绑定

使用addEventListene来注册事件

<button>点击</button>
		<script type="text/javascript">
			var btn = document.getElementsByTagName("button")[0];
			btn.addEventListener("click".dome)
			function dome (){
				console.log("你好!!")
			}
		</script>

使用btn.removeEventListener(‘click, handleClick, false’)来消除事件。移除事件必须使用外部函数(匿名函数不可消除)。

btn.removeEventListener("click",dome)

在DOM 2中 一个dom对象可以注册多个相同类型的事件,不会发生事件的覆盖,会依次的执行各个事件函数。
当一个元素绑定了一个点击事件,调用了两次函数,那么事件处理程序会以添加它们的相同的顺序被触发。

`<button>点击</button>
		<script type="text/javascript">
			var btn = document.getElementsByTagName("button")[0];
			btn.addEventListener("click",dome)
			function dome (){
				console.log("你好")
			}
			btn.addEventListener("click",dome1)
			function dome1 (){
				console.log("你好!!")
			}

		</script>

在这里插入图片描述

支持事件流的捕获和冒泡,通过addEventListener(‘事件名称’,‘事件回调’,‘捕获/冒泡’)第三个参数的设置(默认false即冒泡),制定事件触发是在捕获过程还是冒泡过程。

<div id="">
			<button>点击</button>
		</div>
		
		<script type="text/javascript">
			var div = document.getElementsByTagName("div")[0];
			var btn = document.getElementsByTagName("button")[0];
			div.addEventListener("click",fundiv)
			btn.addEventListener("click",funbtn)
			function fundiv (){
				console.log("DIV")
			}
			function funbtn (){
				console.log("btn")
			}
		</script>

在这里插入图片描述
一般情况下冒泡是由目标元素向执行的但是在div注册事件的时候加上第三个参数并且值为 true 那么会放div的事件在捕获阶段执行

div.addEventListener("click",fundiv, true )

在这里插入图片描述

IE10以下中使用attachEvent 来实现IE11是支持addEventListener的
由于在IE中没有捕获阶段所以attachEvent()只能执行在冒泡阶段
事件名称前需要加on。
当一个元素绑定了一个点击事件,调用了两次函数,那么事件处理程序会以添加它们的相反的顺序被触发。

<button>点击</button>
		<script type="text/javascript">
			var btn = document.getElementsByTagName("button")[0];
			btn.attachEvent("onclick",dome)
			function dome (){
				console.log("你好")
			}
			btn.attachEvent("onclick",dome1)
			function dome1 (){
				console.log("你好!!")
			}

		</script>

在这里插入图片描述

可以使用btn.detachEvent(‘onclick’, handleClick)来实现事件消除。

btn.detachEvent("onclick",dome1)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 JavaScript 绑定点击事件方法有很多种。其比较常见的有以下几种: 1. 使用 HTML 的 onclick 属性:将一个函数名作为属性值指定给需要绑定点击事件的 HTML 元素,例如: ``` <button onclick="myFunction()">点击我</button> ``` 2. 使用 addEventListener() 方法:将事件类型(例如 "click")、事件处理函数以及一个可选的布尔值参数(指定事件处理函数是在冒泡阶段还是捕获阶段触发)作为参数,例如: ``` document.querySelector("#myButton").addEventListener("click", myFunction); ``` 3. 使用 attachEvent() 方法(仅适用于 IE 浏览器):将事件类型(例如 "click")和事件处理函数作为参数,例如: ``` document.querySelector("#myButton").attachEvent("onclick", myFunction); ``` 4. 使用 jQuery 的事件绑定方法:例如: ``` $("#myButton").on("click", myFunction); ``` 需要注意的是,以上几种方法,函数名或事件处理函数都应该在代码先定义好。此外,为了避免事件冲突或重复绑定,应注意使用正确的事件委托和事件绑定方式。 ### 回答2: 在JavaScript绑定点击事件是实现交互式功能的常见方法之一。常用的js绑定点击事件方法有: 1. HTML绑定:通过在HTML标签添加onclick属性来绑定点击事件。例如: ``` <button onclick="alert('Hello World!')">点击我</button> ``` 这样点击按钮时就会弹出一个对话框显示“Hello World!”。 这种方式简单直接,但HTML和脚本代码耦合度高,不易维护。 2. DOM0级事件绑定:使用DOM对象的onclick属性来绑定点击事件。例如: ``` var btn = document.getElementById("myBtn"); btn.onclick = function() { alert('Hello World!'); } ``` 这里用DOM的getElementById方法获取id为“myBtn”的元素,然后为其onclick属性赋值一个函数,点击按钮时就会调用该函数弹出一个对话框。 这种方式比HTML绑定更灵活,但无法绑定多个事件处理程序,因为每次给onclick属性赋值都会覆盖之前的值。 3. DOM2级事件绑定:使用addEventListener方法为DOM元素添加事件处理程序。例如: ``` var btn = document.getElementById("myBtn"); btn.addEventListener("click", function() { alert('Hello World!'); }, false); ``` 这里用DOM的getElementById方法获取id为“myBtn”的元素,然后使用addEventListener方法为其添加一个click事件处理程序,点击按钮时会调用该函数弹出一个对话框。 这种方式更灵活可控,可以绑定多个事件处理程序,还可以决定事件处理程序是在捕获阶段还是冒泡阶段运行。不过在IE8及以下的浏览器不支持该方法,需要使用attachEvent方法代替。 以上是js绑定点击事件的三种常用方式,选择哪种方法可以根据实际情况灵活应用。 ### 回答3: JS(JavaScript)作为一种常用的编程语言,为我们今天的网页设计工作提供了极大的帮助,包括为网页添加交互功能、形成更加美观的视觉体验等等。其js绑定点击事件也是我们常用的一种操作方法,可以方便地实现一些动态效果和用户操作功能。 实现js绑定点击事件方法有很多,下面我为大家讲解几种常用的方式。 1. 通过HTML的onclick属性 这是最简单的一种方法,可以在HTML标签的onclick属性直接绑定点击事件,实现起来非常方便。 实例如下: ``` <button onclick="alert('hello world!')">点击弹出信息</button> ``` 实现的效果就是,当用户点击按钮时,会弹出一个信息框,显示“hello world!”。 2. 使用addEventListener()方法 这也是我们比较常用的方法,通过addEventListener()方法向元素添加指定事件的监听器,然后在函数实现所需要的操作。这种方式相比于第一种方法,有更多的自定义空间,更加灵活。 实例如下: ``` var btn = document.getElementById("btn"); btn.addEventListener("click", function(){ alert("hello world!"); }); ``` 这里我们通过document对象的getElementById()方法获取到一个id为“btn”的按钮元素,然后使用addEventListener()方法向该元素添加一个“click”事件的监听器,当这个事件被触发时,会弹出一个信息框,显示“hello world!”。 3. 使用jQuery库 如果你已经熟知jQuery这个知名的JS库,那么使用它来绑定点击事件也是一种极为方便的方式。 实例如下: ``` $("#btn").click(function(){ alert("hello world!"); }); ``` 这里我们通过jQuery的$()方法获取到一个id为“btn”的按钮元素,并使用click()方法绑定了一个点击事件的处理函数。当该按钮被点击时,也会弹出一个信息框,显示“hello world!”。 总之,JS绑定点击事件方法有很多种,每种方法都有其独特的特点和应用场景,可根据自己的需要进行选择。不管使用哪种方法,都需要注意一些细节问题,如选择合适的元素、使用正确的事件类型、避免事件绑定重复等等,才能更好地实现我们的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值