web前端学习(四十)——JavaScript DOM事件(对事件做出反应)

简介: web前端学习(四十)——JavaScript DOM事件(对事件做出反应)

1.开篇


HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。对事件做出反应

我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。

如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码:

οnclick=JavaScript

HTML事件的例子:

·       当用户点击鼠标时

·       当网页已加载时

·       当图像已加载时

·       当鼠标移动到元素上时

·       当输入字段被改变时

·       当提交 HTML 表单时

·       当用户触发按键时

例如下面这个小实例,当用户在 <h2> 元素上点击时,会改变其内容:👇👇👇 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>JS简单学习</title>
    <script>
      function changeText(str) {
        str.innerHTML="JavaScript";
      }
    </script>
  </head>
  <body>
    <h2 onclick="changeText(this)">点击文本</h2>
  </body>
</html>

2.使用HTML DOM分配事件


HTML DOM 允许您使用 JavaScript 来向 HTML 元素分配事件: 

2.1 onclick事件

当完成鼠标点击时,会触发 onclick 事件。

在下面的例子中,名为 displayDate 的函数被分配给 id="myBtn" HTML 元素。按钮点击时Javascript函数将会被执行。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p>点击按钮执行 <em>displayDate()</em> 函数.</p>
    <button type="button" id="myBtn">点这里</button>
    <script>
      function displayDate() {
        document.getElementById("demo").innerHTML=Date();
      }
      document.getElementById("myBtn").onclick=function(){displayDate()};
    </script>
    <p id="demo"></p>
  </body>
</html>

2.2 onload onunload 事件

onload onunload 事件会在用户进入或离开页面时被触发。

onload事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload onunload 事件可用于处理 cookie

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body onload="checkCookies()">
    <script>
      function checkCookies() {
        if(navigator.cookieEnabled==true) {
          alert("Cookies 可用");
        }else {
          alert("Cookies 不可用");
        }
      }
    </script>
    <p>弹窗-提示浏览器 cookie 是否可用。</p>
  </body>
</html>

2.3 onchange 事件

onchange事件常结合对输入字段的验证来使用。

下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    输入你的名字:<input type="text" id="yourname" onchange="myFunction()" />
    <p>当你离开输入框后,函数将被触发,将小写字母转为大写字母。</p>
    <script>
      function myFunction() {
        var str=document.getElementById("yourname");
        str.value=str.value.toUpperCase();
      }
    </script>
  </body>
</html>

2.4 onmouseover onmouseout 事件

onmouseover onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
    <style type="text/css">
      div {
        background-color: aqua;
        width: 120px;
        height: 20px;
        padding: 40px;
      }
    </style>
  </head>
  <body>
    <div onmouseover="mOver(this)" onmouseout="mOut(this)">Hello World!!!</div>
    <script>
      function mOver(obj) {
        obj.innerHTML="JavaScript!!!";
      }
      function mOut(obj) {
        obj.innerHTML="Hello World!!!";
      }
    </script>
  </body>
</html>

2.5 onmousedown onmouseup 事件

onmousedownonmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发onmousedown事件,当释放鼠标按钮时,会触发 onmouseup 事件。 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <img id="myimage" onmousedown="lighton()" onmouseup="lightoff()" src="img/img/close.png" width="100" height="160" />
    <p>鼠标点击不释放,灯会一直亮着!!!</p>
    <script>
      function lighton() {
        document.getElementById("myimage").src="img/img/open.png";
      }
      function lightoff() {
        document.getElementById("myimage").src="img/img/close.png";
      }
    </script>
  </body>
</html>


相关文章
|
1月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
180 0
|
1月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
141 0
|
7月前
|
JavaScript 前端开发 API
|
8月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
461 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
7月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
286 8
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7442 23
|
9月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
274 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。

热门文章

最新文章

下一篇
oss云网关配置