HTML事件可以触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript。
2.1当窗口失去焦点时,输出“窗口失去焦点”:
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
-
- <script>
- window.onblur = function () {
- console.log("窗口失去焦点");
- };
- script>
- body>
- html>
2.2当窗口获取焦点时,输出“窗口获取焦点”:
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
-
- <script>
- window.onfocus = function () {
- console.log("窗口获取焦点");
- };
- script>
- body>
- html>
2.3当页面文档加载完成后,输出"Hello, World":
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
-
- <script>
- window.onload = function () {
- console.log("Hello,World");
- };
- script>
- body>
- html>
2.4当调整窗口大小时,输出"窗口大小正在改变":
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
-
- <script>
- window.onresize = function () {
- console.log("窗口大小正在改变");
- };
- script>
- body>
- html>
表单事件在HTML表单中触发 (适用于所有 HTML 元素,但该HTML元素需在form表单内)。
3.1当文本框获取焦点,文本框背景为红色,当文本框失去焦点,文本框背景为黄色:
- DOCTYPE html>
-
-
-
-
- var textInput = document.getElementById("text");
-
- /* 当文本框获取焦点,文本框背景为红色 */
- textInput.onfocus = function () {
- this.style.background = "red";
- };
-
- /* 当文本框失去焦点,文本框背景为绿色 */
- textInput.onblur = function () {
- this.style.background = "green";
- };
3.2当文本框内容改变时,鼠标离开文本框,自动将文本框的内容输出到控制台:
- DOCTYPE html>
-
-
-
-
- var textInput = document.getElementById("text");
-
- /* 当文本框内容改变时,鼠标离开文本框,自动将文本框的内容输出到控制台 */
- textInput.onchange = function () {
- console.log(this.value);
- };
3.3当文本框内容改变时,立即将改变的内容输出到控制台:
- DOCTYPE html>
-
-
-
-
- var textInput = document.getElementById("text");
-
- /* 当文本框内容改变时,立即将改变的内容输出到控制台 */
- textInput.oninput = function () {
- console.log(this.value);
- };
3.4如果单击“submit”,则不填写文本字段,将发生警报消息:
- DOCTYPE html>
-
-
-
-
-
- var textInput = document.getElementById("text");
-
- /* 如果单击“submit”,则不填写文本字段,将发生警报消息 */
- textInput.oninvalid = function () {
- console.log("请您完善表单内容!");
- };
3.5当选中文本框的内容时,输出“您已经选择了文本框内容!”:
- DOCTYPE html>
-
-
-
-
- var textInput = document.getElementById("text");
-
- /* 当选中文本框的内容时,输出“您已经选择了文本框内容!” */
- textInput.onselect = function () {
- console.log("您已经选择了文本框内容!");
- };
3.6当提交表单的时候,在控制台输出“表单提交”:
- DOCTYPE html>
-
-
-
-
- var myform = document.getElementById("myform");
-
- /* 当提交表单的时候,在控制台输出“表单提交” */
- myform.onsubmit = function () {
- console.log("表单提交");
- return false;/* 用来阻止表单提交的,你不写它会跳转请求 */
- };
通过键盘触发事件。
3.1当键盘按下判断当前的按键是不是 a ,如果是就输出true,否则输出false:
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
-
- <script>
- /* 当键盘按下判断当前的按键是不是 a ,如果是就输出true,否则输出false */
- window.onkeydown = function (event) {
- /* 解决兼容性问题 */
- event = event || window.event;
-
- if (event.keyCode == 65) {
- console.log("true");
- } else {
- console.log("false");
- }
- };
- script>
- body>
- html>
3.2使div可以根据不同的方向键向不同的方向移动:
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
- <div id="box" style="width: 100px;height: 100px;background: red;position: absolute;">div>
-
- <script>
- var box = document.getElementById("box");
-
- //为document绑定一个按键按下的事件
- document.onkeydown = function (event) {
- event = event || window.event;
-
- // 定义移动速度
- var speed = 10;
-
- // 选择移动方向
- switch (event.keyCode) {
- case 37:
- box.style.left = box.offsetLeft - speed + "px";
- break;
- case 39:
- box.style.left = box.offsetLeft + speed + "px";
- break;
- case 38:
- box.style.top = box.offsetTop - speed + "px";
- break;
- case 40:
- box.style.top = box.offsetTop + speed + "px";
- break;
- }
- };
- script>
- body>
- html>
通过鼠标触发事件。
3.1创建一个正方形div,默认颜色为黑色,当鼠标移入div,背景颜色变为红色,当鼠标移出div,背景颜色变为绿色:
- DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>title>
- head>
- <body>
- <div id="box" style="width: 100px;height: 100px;background: black;">div>
-
- <script>
- var box = document.getElementById("box");
-
- /* 当鼠标移入div,背景颜色变为红色 */
- box.onmouseenter = function () {
- this.style.background = "red";
- };
-
- /* 当鼠标移出div,背景颜色变为绿色 */
- box.onmouseleave = function () {
- this.style.background = "green";
- };
- script>
- body>
- html>