广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >javascript中怎么绑定事件
  • 591
分享到

javascript中怎么绑定事件

2024-04-02 19:04:59 591人浏览 八月长安
摘要

javascript中怎么绑定事件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 方法:1、使用html标签的

javascript中怎么绑定事件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

方法:1、使用html标签的事件属性onclick绑定处理程序,语法“onclick="事件处理程序"”;2、使用事件源的事件属性绑定处理程序,语法“obj.on事件名=处理函数”;3、使用addEventListener()绑定处理程序。

绑定事件处理程序有以下 3 种方式:

  • 使用 HTML 标签的事件属性onclick绑定事件处理程序。该方式通过设置标签的事件属性值为事件处理程序。这种方法现在不推荐使用。

  • 使用事件源的事件属性绑定事件处理函数。该方式通过设置事件源对象的事件属性值为事件处理函数。

  • 使用 addEventListener() 方法绑定事件和事件处理函数(IE9 之前的版本则使用 attach Event() 方法。

1、使用HTML标签的事件属性绑定处理程序

需要注意的是,使用 HTML 标签的事件属性绑定事件处理程序的方式时,事件属性中的脚本代码不能包含函数声明,但可以是函数调用或一系列使用分号分隔的脚本代码。

【例 1】使用 HTML 标签的事件属性绑定事件处理程序。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用HTML标签的事件属性绑定事件处理程序</title>
</head>
<body>
     <input type="button" onclick="var name='编程网';alert(name);" value="事件绑定测试"/>
</body>
</html>

上述代码的 button 为 click 事件的目标对象,其通过标签的事件属性 onclick 绑定了两条脚本代码进行事件的处理。上述代码在 Chrome 浏览器的运行后,当用户单击按钮时,将弹出警告对话框,结果如下图所示。

javascript中怎么绑定事件

当事件处理程序涉及的代码在 2 条以上时,如果还像示例 1 那样绑定事件处理程序,会使程序的可读性变得很差。对此,可以将事件处理程序定义为一个函数,然后在事件属性中调用该函数。

【例 2】HTML 标签的事件属性为函数调用。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML标签的事件属性为函数调用</title>
<script>
     function printName(){
          var name = "编程网";
          alert(name);
     }
</script>
</head>
<body>
     <input type="button" onClick="printName()" value="事件绑定测试"/>
</body>
</html>

上述代码的执行结果和示例 1 完全相同。从上述两个示例可以看到,标签事件属性将 js 脚本代码和 HTML 标签混合在一起,违反了 WEB 标准的 JS 和 HTML 应分离的原则。所以,使用 HTML 标签的事件属性绑定事件处理程序不好,在实际应用时应尽量避免使用。

2、使用事件源的事件属性绑定处理程序

使 HTML 和 JS 分离的其中一种方式是通过使用事件源的事件属性绑定事件处理函数,绑定格式如下:

obj.on事件名 = 事件处理函数

格式中的 obj 为事件源对象。绑定的事件程序通常为一个匿名函数的定义语句,或者是一个函数名称。

事件源的事件属性绑定处理程序示例:

oBtn.onclick = function(){//oBtn为事件源对象,它的单击事件绑定了一个匿名函数定义
      alert('hi')
};

【例 3】使用事件源的事件属性绑定事件处理函数。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用事件源的事件属性绑定事件处理函数</title>
<script>
     window.onload = function(){//窗口加载事件绑定了一个匿名函数
          //定义一个名为fn的函数
          function fn(){
               alert('hello');
          }
          //获取事件源对象
          var oBtn1 = document.getElementById("btn1");
          var oBtn2 = document.getElementById("btn2");
         
          //绑定一个匿名函数
          oBtn1.onclick = function(){
               alert("hi");
          }
          //绑定一个函数名
          oBtn2.onclick = fn;
     };
</script>
</head>
<body>
   <input type="button" id="btn1" value="绑定一个匿名函数">
   <input type="button" id="btn2" value="绑定一个函数名">
</body>
</html>

上述 JS 代码中处理了 3 个事件:文档窗口加载事件 load、两个按钮的单击事件 click。这三个事件的处理都是使用事件源的事件属性绑定事件处理函数来实现的,其中 load 事件和第一个按钮的click事件绑定的是匿名函数,而第二个按钮的click事件绑定的是一个函数名。

需要特别注意的是,不能在 oBtn2 绑定的函数名后面加“()”,否则绑定的函数变为函数调用,这样就会在 JS 引擎执行到该行代码时自动调用执行,而在事件触发时却不会执行了。

在文档所有元素加载完成后会处理窗口加载事件函数,而单击每个按钮时将会触发单击事件。单击第一个和第二个按钮后,将分别弹出显示“hi”和“hello”两个警告对话框。

javascript中怎么绑定事件

javascript中怎么绑定事件

3、使用addEventListener()绑定处理程序

使用事件源对象的事件属性绑定事件处理程序方式虽然简单,但其存在一个不足之处:一个事件只能绑定一个处理程序,后面绑定的事件处理函数会覆盖前面绑定的事件处理函数。实际应用中,一个事件源的一个事件可能会用到多个函数来处理。

当一个事件源需要使用多个函数来处理时,可以通过事件源调用 addEventListener()(针对标准浏览器)来绑定事件处理函数以实现此需求。一个事件源通过方法绑定多个事件函数的实现方式是:对事件源对象调用多次 addEventListener(),其中每次的调用只绑定一个事件处理函数。

addEventListener() 是标准事件模型中的一个方法,对所有标准浏览器都有效。使用 addEvent Liste ner() 绑定事件处理程序的格式如下:

事件源.addEventListener(事件名称,事件处理函数名,是否捕获);

参数“事件名称”是一个不带“on”的事件名;参数“是否捕获”是一个布尔值,默认值为 false,取 false 时实现事件冒泡,取 true 时实现事件捕获。

通过多次调用 addEventListener() 可以为一个事件源对象的同一个事件类型绑定多个事件处理函数。当对象发生事件时,所有该事件绑定的事件处理函数就会按照绑定的顺序依次调用执行。另外,需要注意的是,addEventListener() 绑定的事件处理函数中的 this 指向事件源。

addEventListener() 绑定处理程序示例:

document.addEventListener('click',fn1,false);//click事件绑定fn1函数实现事件冒泡
document.addEventListener('click',fn2,true);//click事件绑定fn2函数实现事件捕获

【例 4】使用 addEventListener() 绑定事件函数。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用addEventListener()/attachEvent()绑定事件函数</title>
<script>
     function fn1(){
          alert("fn1()");
     }
     function fn2(){
         alert("fn2()");
     }
     function bindTest(){
         document.addEventListener('click',fn1,false);//首先绑定fn1函数   
         document.addEventListener('click',fn2,false);   
     }
     bindTest();//调用函数
</script>
</head>
<body>
</body>
</html>

上述代码在浏览器中运行后,当单击文档窗口时,会依次弹出显示“fn1()”和“fn2()”的警告对话框。

javascript中怎么绑定事件

javascript中怎么绑定事件

关于javascript中怎么绑定事件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网JavaScript频道了解更多相关知识。

--结束END--

本文标题: javascript中怎么绑定事件

本文链接: https://www.lsjlt.com/news/73706.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript中怎么绑定事件
    javascript中怎么绑定事件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 方法:1、使用HTML标签的...
    99+
    2022-10-19
  • javascript怎么解除绑定事件
    小编给大家分享一下javascript怎么解除绑定事件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、使用“对象名.onclick=null”语句;2、使...
    99+
    2023-06-14
  • jQuery中on绑定的事件怎么解绑
    这篇文章主要介绍了jQuery中on绑定的事件怎么解绑的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jQuery中on绑定的事件怎么解绑文章都会有所收获,下面我们一起来看看吧。解绑单个事件在jQuery中,我们...
    99+
    2023-07-05
  • Javascript中怎么利用闭包循环绑定事件
    Javascript中怎么利用闭包循环绑定事件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。例如:一个不确定长度的列表,在鼠标...
    99+
    2022-10-19
  • vue中怎么实现事件绑定
    本篇文章为大家展示了vue中怎么实现事件绑定,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我...
    99+
    2022-10-19
  • javascript如何实现事件绑定
    小编给大家分享一下javascript如何实现事件绑定,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • javascript绑定事件的方法是什么
    本篇内容介绍了“javascript绑定事件的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!绑定...
    99+
    2022-10-19
  • 怎么进行React事件绑定
    本篇文章给大家分享的是有关怎么进行React事件绑定,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。类组件事件绑定import React from ...
    99+
    2023-06-22
  • JavaScript中有哪些事件绑定的方式
    这期内容当中小编将会给大家带来有关JavaScript中有哪些事件绑定的方式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、直接在 dom 元素上进行绑定<inp...
    99+
    2022-10-19
  • javascript绑定事件的方式有哪些
    这篇文章主要为大家展示了“javascript绑定事件的方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript绑定事件的方式有哪些”这篇文...
    99+
    2022-10-19
  • jQuery中bind/One/Live/On事件绑定怎么用
    这篇文章主要介绍了jQuery中bind/One/Live/On事件绑定怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。浏览jQuery...
    99+
    2022-10-19
  • 怎么在Java中使用GUI中的事件绑定
    怎么在Java中使用GUI中的事件绑定?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。...
    99+
    2023-05-30
    java gui
  • jquery怎么绑定事件调用函数
    这篇文章主要讲解了“jquery怎么绑定事件调用函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery怎么绑定事件调用函数”吧! ...
    99+
    2022-10-19
  • Vue中的事件绑定与解绑方式
    目录事件绑定基础知识使用场景注意事项v-on 绑定事件语法实例$ref绑定事件语法实例事件解绑语法实例 总结事件绑定 基础知识 使用场景 子组件==>父组件传数据在父...
    99+
    2022-11-13
    Vue 事件绑定 Vue 事件解绑 Vue 事件
  • JavaScript事件的冒泡、委派、绑定和传播怎么实现
    本篇内容主要讲解“JavaScript事件的冒泡、委派、绑定和传播怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript事件的冒泡、委派、绑...
    99+
    2022-10-19
  • vue怎么给自定义的组件绑定点击事件
    这篇文章主要介绍“vue怎么给自定义的组件绑定点击事件”,在日常操作中,相信很多人在vue怎么给自定义的组件绑定点击事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么给自定义的组件绑定点击事件”的疑...
    99+
    2023-06-30
  • jquery如何绑定事件
    jquery中绑定事件的方法有:1.使用on()函数绑定事件;2.使用bind()函数绑定事件;3.使用live()函数绑定事件;4.使用delegate()函数绑定事件;jquery中绑定事件的方法有以下几种使用on()函数绑定事件$(&...
    99+
    2022-10-23
  • React事件绑定详解
    目录类组件事件绑定函数组件事件绑定总结 React事件绑定和原生DOM事件绑定相似 语法:on+事件名={事件处理程序} 例如:onClick={()=>{}...
    99+
    2022-11-12
  • jquery事件如何绑定
    本文小编为大家详细介绍“jquery事件如何绑定”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery事件如何绑定”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、bind()bing()用来绑定事件,例如...
    99+
    2023-06-29
  • js中如何使用事件on动态绑定数据以及绑定多个事件
    这篇文章将为大家详细讲解有关js中如何使用事件on动态绑定数据以及绑定多个事件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.on('clcik')与$...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作