JavaScript事件监 听器详细介绍
作者:斯文~ 发布时间:2024-07-12 10:19:33
什么是事件
HTML 事件是发生在 HTML 元素上的“行为 ”。比如:页面上的 按钮被点击
、鼠标移动到元素之上
、按下键盘按键
等都是事件。
事件监听就是JavaScript 可以在某一事件被触发时,执行一段预设的逻辑代码。如我们点击开灯、关灯时
页面做出的相应反应其实就是通过事件监听来更换图片。
1. 事件绑定
JavaScript 提供了两种事件绑定方式:
方式一:通过 HTML标签中的事件属性进行绑定;
如下面代码,有一个按钮元素,我们是在该标签上定义 事件属性
,在事件属性中绑定函数。onclick
就是 单击事件
的事件属性。onclick='on()'
表示该点击事件绑定了一个名为 on()
的函数。
<input type="button" onclick='on()'>
下面是点击事件绑定的 on()
函数
function on(){
alert("我被点了");
}
方式二:通过 DOM 元素属性绑定
如下面代码是按钮标签,在该标签上我们并没有使用 事件属性
,绑定事件的操作需要在 js 代码中实现。
<input type="button" id="btn">
下面 js 代码是获取了 id='btn'
的元素对象,然后将 onclick
作为该对象的属性,并且绑定匿名函数。该函数是在事件触发后自动执行。
document.getElementById("btn").onclick = function (){
alert("我被点了");
}
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--方式1:在下面input标签上添加 onclick 属性,并绑定 on() 函数-->
<input type="button" value="点我" onclick="on()"> <br>
<input type="button" value="再点我" id="btn">
<script>
function on(){
alert("我被点了");
}
//方式2:获取 id="btn" 元素对象,通过调用 onclick 属性 绑定点击事件
document.getElementById("btn").onclick = function (){
alert("我被点了");
}
</script>
</body>
</html>
2. 常见事件
事件属性名 | 说明 |
---|---|
onclick | 鼠标单击事件 |
onblur | 元素失去焦点 |
onfocus | 元素获得焦点 |
onload | 某个页面或图像被完成加载 |
onsubmit | 当表单提交时触发该事件 |
onmouseover | 鼠标被移到某元素之上 |
onmouseout | 鼠标从某元素移开 |
键盘事件 | 可阅读官方文档了解 |
onfocus
获得焦点事件。
如下图,当点击了输入框后,输入框就获得了焦点。而下图示例是当获取焦点后会更改输入框的背景颜色。
onblur
失去焦点事件
如下图,当点击了输入框后,输入框就获得了焦点;再点击页面其他位置,那输入框就失去焦点了。下图示例是将输入的文本转换为大写。
onmouseout
鼠标移出事件onmouseover
鼠标移入事件onsubmit
表单提交事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form id="register" action="#" >
<input type="text" name="username" />
<input type="submit" value="提交">
</form>
<script>
</script>
</body>
</html>
如上代码的表单,当我们点击 提交
按钮后,表单就会提交,此处默认使用的是 GET
提交方式,会将提交的数据拼接到 URL 后。现需要通过 js 代码实现阻止表单提交的功能,js 代码实现如下:
获取
form
表单元素对象。给
form
表单元素对象绑定onsubmit
事件,并绑定匿名函数。该匿名函数如果返回的是true,提交表单;如果返回的是false,阻止表单提交。
document.getElementById("register").onsubmit = function (){
//onsubmit 返回true,则表单会被提交,返回false,则表单不提交
return true;
}
来源:https://blog.csdn.net/weixin_52341477/article/details/126953720


猜你喜欢
- jwt的问题首先说明一个jwt存在的问题,也就是要替换jwt的原因:jwt无法在服务端主动退出的问题jwt无法作废已颁布的令牌,只能等到令牌
- 引言在前面的文章当中我们讨论的是 python3 当中早期的内嵌数据结构字典的实现,在本篇文章当中主要介绍在后续对于字典的内存优化。字典优化
- 本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:使用sklearn做各种回归基本回归:线性、
- 一、layui下拉复选实现的背景:实现一个管理员拥有多个权限二、 具体实现://依赖资源<link rel="stylesh
- 0、什么时候会用到virtualenv?假设系统中的两个应用,其中A应用对库LibFoo的版本要求为1,而B应用对同一个库LibFoo的版本
- 1,模块命名(1)模块推荐使用小写命名,(2)除非有很多字母,尽量不要用下划线因为很多模块文件存与模块名称一致的类,模块采用小写,类采用首字
- 本文实例为大家分享了Virginia无密钥解密的具体代码,供大家参考,具体内容如下加密virginia加密是一种多表替换加密方法,通过这种方
- 经典神经网络的改进点名称改进点VGG161、使用非常多的3*3卷积串联,利用小卷积代替大卷积,该操作使得其拥有更少的参数量,同时会比单独一个
- 面临的问题在我设计一个分析系统中,我们公司的目标是能够处理来自数百万个端点的大量POST请求。web 网络处理程序将收到一个JSON文档,其
- 一、中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,
- 如何用眼睛来控制鼠标?一种基于单一前向视角的机器学习眼睛姿态估计方法。在此项目中,每次单击鼠标时,我们都会编写代码来裁剪你们的眼睛图像。使用
- 前言在前后端分离的开发中,通过 Restful API 进行数据交互时,如果没有对 API 进行保护,那么别人就可以很容易地获取并调用这些
- 最近决定把MT的后台数据从Berkeley的文件DB转到MySQL。原因之一是使用关系数据库可以获得更多的灵活性,比如运行一条sql来变更
- 数据库文件在使用过程中,日志文件会越来越大。小则几个G,大的可能几十上百G都有可能,有时实在是没有必要为它浪费太大的硬盘存储空间。所以可以把
- 本节为大家分享的例子是wxpython Frame的用法。例子:#!/usr/bin/python # -*- coding:
- 说明MySql社区版从5.7.11开始支持基于表的数据加密方案,模块名为keyring_file,支持加密整张表。这种是加密方式其实是基于文
- 我的是shift+] 会打开search everywhere, 很影响操作。怎么关掉?解决:打开设置(settings)找到keymap,
- 本文实例讲述了Yii2 assets清除缓存的方法。分享给大家供大家参考,具体如下:use vendor\myVendorName\myPa
- 一、条件判断语句条件判断语句主要就三个关键字:if 、elif、else这三个关键字可以有多种不同的组合。1、单纯的if语句只有一个 if
- 本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧。预期效果图: 原谅博主对照片的处理是如此的草率吧。。。仍然是 通过