JS中的常用事件及事件注册的两种方式

2023-11-16

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JS中的常用事件及事件注册的两种方式</title>
    </head>
    <body>
        <script type="text/javascript">
            /*
                JS中的事件:
                    blur:失去焦点
                    focus:获得焦点
                    
                    click:鼠标单击
                    dblclick:鼠标双击
                    
                    keydown:键盘按下
                    keyup:键盘弹起
                    
                    mousedown:鼠标按下
                    mouseup:鼠标弹起
                    mouseover:鼠标经过
                    mousemove:鼠标移动
                    mouseout:鼠标离开
                    
                    reset:表单重置
                    submit:表单提交

                    
                    change:下拉列表选中项改变,或文本框内容改变
                    select:文本被选定
                    
                    load:页面加载完毕(整个HTML页面中所有的元素全部加载完毕)
                    
                任何一个事件都对应一个事件句柄,事件句柄是在事件之前添加on,事件句柄以属性的形式存在
                事件句柄出现在一个标签的属性位置上。
                
                在事件句柄上调用的函数叫做"回调函数(callback函数)"    

            */
           function sayHello(){
               alert("hello js")
           }
        </script>
        <!--
            注册事件的第一种方式:直接在标签中使用事件句柄
            以下代码的含义是:将sayHello函数注册到按钮上,等待click事件发生之后,该函数被浏览器
            调用。我们称这个函数为回调函数。

        -->
        <button type="button" οnclick="sayHello()">hello1</button>
        <input type="button" value="hello2" οnclick="sayHello()" />
        <!--以上两行代码的作用相同,只是不同的写法-->
        
        <input type="button" value="hello3" id="mybtn3"/>
        
        <input type="button" value="hello4" id="mybtn4"/>
        
        <input type="button" value="hello5" id="mybtn5"/>
        <script>
            function doSome(){
                alert("do some!")
            }
            /*
                第二种注册事件的方式:使用纯JS代码完成事件注册
            */
            //     第一步:首先获取按钮对象(document全部小写,是内置对象,可直接用,
            //                             document代表整个HTML页面)
            var btnObj = document.getElementById("mybtn");
            //     第二步:给按钮对象的onclick属性赋值(每个按钮对象都有onclick属性)
            //     这行代码的含义是:将回调函数doSome注册到click事件上
            btnObj.onclick = doSome;  //"千万不要写小括号()",btnObj.onclick = doSome();这是错误写法
           
            var btnObj1 = document.getElementById("mybtn1");
            btnObj1.onclick = function(){  //这个函数没有名字,叫匿名函数,这个匿名函数也是一个回调函数
                alert("text.......") //这个函数在页面打开的时候只是注册到按钮上,不会被调用,只有onclick
                                     //事件发生之后才会被调用。
            }
           
            // 最常用的写法:
            document.getElementById("mybtn2").onclick = function(){
                alert("text、test、test........")
            }

        </script>
    </body>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS中的常用事件及事件注册的两种方式 的相关文章

  • createHTMLNotification() 替换

    我创建了一个 Chrome 扩展程序 其中使用createHTMLNotification 在所有内容之上显示一个窗口 然而 从 Chrome 28 开始 谷歌决定放弃createHTMLNotification 完全 为什么 谷歌 为什么
  • 在 Three.js 中绕点旋转对象的正确方法是什么?

    关于 Three js 的大多数教程 问题都建议使用 Three js 绕点旋转对象的方法是在要旋转的位置创建父对象 附加对象 然后移动子对象 然后 当父级旋转时 子级围绕该点旋转 例如 Make a pivot var pivot new
  • 显示具有多个父代的 D3 树

    我目前有this http bl ocks org mbostock 4339083图已实现 我希望在描述具有多个父节点的子节点时保持结构和可折叠性 有没有办法做到这一点 我研究了力图 但我也想保留一组层次结构 这意味着 1 级的父级可以有
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • 如何使用有角度的材料创建卡片网格?

    我正在尝试使用 ng repeat 创建每行三张卡片的网格 我有一个普通的 javascript 对象数组附加到范围 下面的代码将为每张卡创建一个新行 div div
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何正确取消引用然后删除 JavaScript 对象?

    我想知道从内存中完全取消引用 JavaScript 对象的正确方法 确保删除时不会在内存中悬空 并且垃圾收集器会删除该对象 当我看这个问题时在 JavaScript 中删除对象 https stackoverflow com questio
  • 使用 Google 日历源时如何禁用 FullCalendar 中的活动链接?

    我正在使用 FullCalendar 库从 Google 日历加载日历中的事件 不幸的是 事件添加到日历后 它们是可点击的 当您点击该活动时 您会自动重定向到 Google 日历页面以查看该特定活动 或者如果您有足够的访问权限 则可以直接对
  • Vaadin 12 将对象传递给 JavaScript 函数:无法对类进行编码

    Vaadin 12 Kotlin 项目 In my myPage html我有JavaScript myObject redirectToCheckout sessionId 1111 2222 所以我需要调用javaScript函数red
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • $resource.query 返回分割字符串(字符数组)而不是字符串

    我正在使用像下面这样的 Angular resource angular module app factory data function resource var Con resource api data update method P
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容

随机推荐

  • 马踏棋盘问题(C-数据结构)

    题目 在8 8的国际象棋棋盘中 给出马的初始位置 求出马踏遍棋盘每个位置的路线图 棋盘中每个位置只能走一次 思路 国际象棋中 马走的规则和中国象棋相似 为斜两格行走 即向任意方向走两格 再向与前面行走方向垂直的方向走一格 每个位置最多可以向
  • C语言,BMP格式解析,生成不同位深的图片。

    0 前言 目录 0 前言 1 BMP格式详解 1 1图片的构成 1 2BMP格式 1 2 1文件头 1 2 2位图信息头 1 2 3调色板 1 2 4位图数据 2 生成 3 总结 最近工作任务繁重且对我来说小有难度 但是没有困难的事情做起来
  • 《XNA游戏开发》简介

    一 XNA简介 XNA是基于DirectX的游戏开发环境 以C 为开发语言 以 NET Framework 为基础 并加入游戏应用所需之函式库所构成的 XNA Framework 可开发XNA for Windows Phone游戏 Xbo
  • html的<form>表单的基本介绍及使用说明

  • 本地、服务器文件互传命令

    1 从服务器复制文件 文件夹到本地 scp r ZSL 192 168 53 54 data ZSL json D WorkSpace PyCharm myfiel 加上r可以复制整个文件夹 不加r只能复制单个文件 2 从本地复制文件夹到服
  • protocol buffer 简单使用

    protocol buffer占用空间小 传输速率高 并且是跨平台的 每个语言都有一套解释protocol buffer的特殊方式 我就介绍一下C 如何解析protocol buffer 首先我们要自己编译Protogen 地址 如下 ht
  • Synchronized 锁升级(无锁、偏向锁、轻量级锁、重量级锁)

    一概念 是Java中一个关键字 是JVM层面提供的同步锁机制 用于保证多线程访问同一资源的可见性 互斥性 即当一个线程已经获取资源锁时 其他试图获取的线程只能等待或者阻塞在那里 访问静态 synchronized 方法占用的锁是当前类的锁
  • C++标准库学习(三)--队列和string类

    今天学习了C 的queue和string类的基本操作 queue是自带的队列 应用很是方便 要注意 pop函数并不返回pop出的值 include
  • FlowUs 使用攻略:如何快速制作 Web 应用(PWA)

    最近在寻找 Notion 的替代品过程中 我发现了 FlowUs 虽然是后起之秀 但不是唯 Notion 亦步亦趋 FLowUs 有两个很重要的特性打动了我 支持文件夹页面 一直以来 虽然 Notion 等产品十分强大 试图取代 Offic
  • powershell(二)对数据库的增删改查

    数据库配置 Database 数据库名称 数据库实例名 Server localhost SQL2008 用户名 UserName sa 密码 Password 数据库密码 连接数据库 SqlConn New Object System D
  • Databend 设计概述

    Databend 是一个开源的 完全面向云架构的新式数仓 它提供快速的弹性扩展能力 并结合云的弹性 简单性和低成本 使 Data Cloud 构建变得更加容易 Databend 把数据存储在像 AWS S3 Azure Blob 这些云上的
  • Java自定义注解的使用

    注解的定义 注解是一种能被添加到java源代码中的元数据 可以看做是是一种特殊标记 可以在包 类 参数和方法上使用 可以进行一些特殊的处理 访问修饰符必须为public 不写默认为public 元注解 JDK中有一些元注解来修饰注解 主要包
  • 浏览器提示:你的连接不是专用连接的解决方法

    解决方法 1 调整键盘为英文输入状态 2 鼠标点击当前页面任意位置 然后依次按键 thisisunsafe 输入完成后 页面会自动刷新 即可正常访问
  • 基于STM32的SGP30芯片开发例程

    2021 03 10新增 附上SGP30的官方资料和STM32F103的开发例程 链接 https pan baidu com s 1pnUTTcXzY1GqiWg 6QcB5Q 提取码 92m9 复制这段内容后打开百度网盘手机App 操作
  • WordPress网站的robots文件代码怎样写比较好

    本文记载和介绍的是wordpress的robots txt的在哪儿 以及如何修改robots文件来禁止搜索引擎爬取 ajax目录下的文章 以及如何优化WordPress网站的robots文件 wordpress设置robots文件的目录 w
  • Linux编程获取本机IP地址的几种方法

    在进行Linux网络编程时 经常会需要获取本机IP地址 除了常规的读取配置文件外 本文罗列几种个人所知的编程常用方法 仅供参考 如有错误请指出 方法一 使用ioctl 获取本地IP地址 Linux下可以使用ioctl 函数以及结构体 str
  • json 插入数据_MongoDB如何一次插入多条json数据

    背景 MongoDB 是一个基于分布式文件存储的数据库 由 C 语言编写 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB 是一个介于关系数据库和非关系数据库之间的产品 是非关系数据库当中功能最丰富 最像关系数据库的
  • PCL RANSAC拟合空间3D椭圆

    目录 一 算法原理 1 空间椭圆 2 模型系数 3 参考文献 二 代码实现 三 结果展示 四 测试数据 一 算法原理 1 空间椭圆 椭圆的参数方程为 x t
  • 阿里云轻量服务器使用教程_3分钟建站

    阿里云轻量应用服务器怎么使用 阿里云轻量应用服务器使用教程 轻量应用服务器购买 重置密码 远程连接 宝塔面板的Web环境搭建 WordPress网站程序安装到网站上线 阿里云服务器网分享轻量应用服务器从购买 配置建站环境 轻量服务器应用服务
  • JS中的常用事件及事件注册的两种方式