【你也能从零基础学会网站开发】Web建站之javascript入门篇 JavaScript事件处理

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

什么是DHTML

DHTML: Dynamic HTML 动态的HTML, 这门技术并不是一门新的技术, 而是将我们之前所学的HTML、CSS、JavaScript整合在一起,利用JS操作页面元素, 让元素具有动态的变化, 使得页面和用户具有交互的行为. 比如说: 我们使用点击div改变div的宽高及背景颜色

简单的说DHTML的定义就是使用JavaScript和CSS级联样式表操作HTML创造出各种动态视觉效果统称为DHTML, DHTML是一种浏览器端的动态网页技术

DHTML的功能
动态改变字体大小和字体颜色
动态设定文档元素的位置、内容,甚至隐藏和显示元素
可以通过事件响应机制制作动态折叠的树形结构和菜单
可以通过定时器制作时钟、日历
可以弹出对话框与用户进行交互
可以通过表单提交用户填写的信息
通过动态样式表可以设定更多的显示效果

DHTML对象模型(DOM)
将HTML标记、属性和CSS样式都对象化
可以动态存取HTML文档中的所有元素
可以使用属性name或id来存取或标记对象
改变元素内容或样式后浏览器中显示效果即时更新
DHTML对象模型包括浏览器对象模型和Document对象模型

DHTML对象模型

如图


看不懂也没关系,先熟悉一下大致结构!

对象事件概念

DHTML对象在状态改变、操作鼠标或键盘时触发的动作
对象事件的分类:
鼠标事件:针对鼠标单击、双击、移动等动作
键盘事件:针对按下键盘产生的动作
状态改变事件:在载入文档、退出、获取焦点、失去焦点、提交、变化等动作时产生的事件!

对象事件处理

常见的事件对象分类如下图:

举个栗子

定义进入、退出文档和单击按钮事件!

<!--在属性定义中直接处理对象事件-->
<body onload="alert('hello body')" onunload="alert('goodbye')">
<input type="button"  value="单击" onclick="alert('hello button')">
</body>

如图

冒泡事件处理机制

我们先来看一个图:


也就是说当处于DHTML对象模型底部对象事件发生时会依次激活上面对象定义的同类事件处理!

这就是事件冒泡机制!

表单验证事件处理

我们来看一个最基本的表单验证案例,结合事件处理机制!

代码

<script language="JavaScript">
    function check(){ //检查t1输入是否为空
        if (form1.t1.value!=""){
            form1.submit();
        }else{
            form1.t1.focus();
        } //如果t1值为空则自动将焦点设定到t1输入框
    }
</script>
<form name="form1">
    姓名:<input type="text" name="t1" value="">
    <input type="button" name="b1" onclick="check()" value="提交">
</form>

去试试看效果吧!

动态样式事件处理

动态样式表指的是在JavaScript中直接对对象的style属性进行设定,HTML组件中的style属性将立即起作用!

<div style="font-size:36pt;font-family:黑体"
 onmouseover="this.style.color='#FF0000';"
 onmouseout="this.style.color='#000000';" >
鼠标移过来,马上变颜色
</div> 

我们来看看效果!

以上就是事件处理相关最简单的概念, 大家先熟悉一下!

Event事件对象

事件触发后将会隐含的产生一个Event对象,Event对象记录事件发生时的鼠标位置、键盘按键状态和触发对象等信息!

Event事件对象主要的属性

clientX、clientY

事件触发时鼠标光标相对浏览器窗口的坐标

screenX、screenY

事件触发时相对客户端屏幕的位置坐标

offsetX、offsetY

事件触发时相对引发事件标记对象的位置

其他事件对象属性:

srcElement 触发该事件的标记对象
button 鼠标按下的键(1左键、2右键、4中键)
这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)
keyCode 键盘按键的Unicode码
altKey/ctrlKey/shiftKey 键盘的alt、ctrl、shift键是否按下
以下专门针对onmouseover和onmouseout事件:
fromElement 鼠标原来所处标记对象
toElement 鼠标现在所处标记对象

事件驱动与事件处理

发生~处理” 模式

Web页中存在很多发生 ~ 处理这样的关系

比如: 一个文本框突然没有了焦点或字符数量改变了,当发些事件时系统就调用监听这些事件的函数。

整个系统可以使用事件的发生来驱动运作,这就是所谓的事件驱动。

比如: 响应编辑框的onkeyup事件,当用户按回车键时将文本框中的内容显示在对话框中 !

代码如下

<script>
     // 释放按键事件处理程序
     function OnKeyUp(_e) {
         // 获取有效的事件对象
         var e = _e ? _e : window.event;
         // 按下的是否是回车键
         if (event.keyCode == 13) {
             // 将文本框中的内容显示在消息框中
             document.write("您输入的内容是:" + Text1.value);
         }
     }
 </script>

<!--标题-->
<h1>事件处理示例</h1><br />
<!--通过文本框中的onkeyup属性绑定释放按键事件处理程序-->
<input id="Text1" type="text" onkeyup="OnKeyUp()" style="width: 423px; height: 178px" />

大家可以去试试这个案例是什么效果, 就会明白什么是事件了!

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/450429.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

宏工科技数智方案现先进陶瓷展,VR体验数字工厂引关注

3月6-8日&#xff0c;第十六届中国国际粉末冶金、硬质合金与先进陶瓷展览会在上海举行。本届展会&#xff0c;宏工科技股份有限公司携VR体验数字工厂和正负压气力输送系统惊艳亮相&#xff0c;“现实虚拟”的呈现方式收获众多行业客户及专业观众高度关注。 展会汇聚了来自粉末冶…

【Python】一文详细介绍 plt.rc_context() 在 Matplotlib 中的原理、作用、注意事项

【Python】一文详细介绍 plt.rc_context() 在 Matplotlib 中的原理、作用、注意事项 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&a…

在funtion中用分号间隔还是逗号间隔

问: 回答: 这段代码是一个Vue组件方法的实现&#xff0c;名为resetForm。该方法的主要作用是关闭一个对话框&#xff08;通过设置this.dialogFormVisible false&#xff09;&#xff0c;重置表单字段&#xff08;使用this.$refs[formName].resetFields();&#xff09;&#x…

动态规划课堂5-----子序列问题(动态规划 + 哈希表)

目录 引言&#xff1a; 例题1&#xff1a;最长递增子序列 例题2&#xff1a;最长定差子序列 例题3&#xff1a;最长的斐波那契子序列的长度 例题4&#xff1a;最长等差数列 例题5&#xff1a;等差数列划分II-子序列 结语&#xff1a; 引言&#xff1a; 要想解决子序列问…

如何有效利用代理IP保护隐私并突破网络限制

有效利用代理IP保护隐私并突破网络限制通常涉及以下几个步骤和注意事项&#xff1a; 1. 选择合适类型的代理&#xff1a; - 高度匿名代理&#xff1a;这是最佳选择&#xff0c;因为它不会在HTTP头部透露任何关于你是通过代理访问的信息&#xff0c;因此可以最大程度地保护你的原…

二维卡通数字人解决方案

美摄科技&#xff0c;凭借在数字人领域的深厚积累与不断创新&#xff0c;为企业量身定制了一套高效、灵活的二维卡通数字人解决方案&#xff0c;助力企业打造独具特色的品牌形象&#xff0c;提升用户互动体验。 美摄科技的二维卡通数字人解决方案&#xff0c;以Live 2D等先进工…

JS 事件捕获、事件冒泡、事件委托

js事件机制在开发中可以说时刻使用&#xff0c;例如dom绑定事件、监听其自身事件等。js事件机制有事件捕获、事件冒泡俩种机制&#xff0c;我们分别说下这俩种机制的使用场景。 一、概念 事件捕获顺序如下&#xff1a; window > document > body > div 事件冒泡顺序…

Codeforces Round 933 (Div. 3)C:Rudolf and the Ugly String

题目链接&#xff1a;Dashboard - Codeforces Round 933 (Div. 3) - Codeforces 解题思路&#xff1a; 解题思路&#xff1a; 题目大概意思是字符串中最少去掉几个单词可以使字符串变漂亮&#xff0c;其实只要找“map"和”pie“这两个单词数量&#xff0c;注意判断&quo…

32个关键字详解①(C语言)

目录 关键字分类&#xff1a; 第一个C程序 - 补充内容 变量的定义与声明 - 补充内容 变量的分类 - 补充内容 变量的作用域 - 补充内容 变量的生命周期 - 补充内容 auto 关键字 register 关键字 static 关键字 static 修饰变量&#xff1a; static修饰函数 sizeof 关键字 基本数…

罐头鱼AI短视频矩阵营销|视频批量剪辑|矩阵系统

AI批量视频剪辑系统是一款功能丰富的视频编辑软件&#xff0c;提供了以下主要功能&#xff1a; 首页显示&#xff1a;在首页上显示用户的登录状态、已绑定的账号数量以及最近上传的视频素材和新上传素材列表。 抖音账号绑定功能&#xff1a;用户可以绑定抖音账号&#xff0c;Q…

读书笔记之《人工智能全球格局》:人工智能时代的中国之路

《人工智能全球格局&#xff1a;未来趋势与中国位势》的作者:是国务院发展研究中心国际技术经济研究所 / 中国电子学会 / 智慧芽&#xff0c; 2019年出版。 这本书全面深入地探讨了人工智能&#xff08;AI&#xff09;的发展历程、当前状态、未来趋势以及中国在这一领域的地位和…

CAN一致性测试:物理层测试之位时间测试

从本周开始结合工作实践&#xff0c;给大家总结CAN一致性相关的测试 包括&#xff1a;物理层、数据链路层、应用层三大块知识点 CAN一致性测试:物理层测试之位时间测试 试验目的&#xff1a;测试控制器输出的差分电平位信号的特征。 试验依据&#xff1a;GMW3122&#xff0…

原生JavaScript,根据后端返回扁平JSON动态【动态列头、动态数据】生成表格数据

前期准备&#xff1a; JQ下载地址&#xff1a; https://jquery.com/ <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JSON动态生成表格数据,动态列头拼接</title><style>table {width: 800px;text-align: cen…

Python 记录日志

1.效果如下&#xff1a; 2.代码如下&#xff1a; import logging import threading import os import sys sys.path.append(os.getcwd())class Mylog(object):_instance_lock threading.Lock()def __init__(self):#,path "log.txt"):# 配置日志输出格式path os.…

(番外)如何将cuda数据存入std::queue实现异步效果

文章目录 1、std::queue列队如何实现异步&#xff1f;2、std::queue可以存储哪些数据类型&#xff1f;2.1、queue如何存放位于cuda上的数据2.2、如何从queue读取位于cuda上的数据&#xff1f;2.3、注意&#xff1a;需要的最大显存 3、一种更优的方法 1、std::queue列队如何实现…

基于SWOT法的信阳本土房地产企业现状及对策分析

目 录 摘要 1 Abstract 1 1绪论 2 2信阳市房地产企业概述 2 2.1中小城市房地产企业概念 2 2.2信阳本土房地产企业定位 3 2.2.1信阳市概况 3 2.2.2信阳市城市规划 3 2.2.3信阳房地产企业概况 4 2.3信阳市本土房地产企业特点 5 2.4研究信阳市本土房地产企业的必要性 6 3运用SWOT…

KBP310-ASEMI新能源整流桥KBP310

编辑&#xff1a;ll KBP310-ASEMI新能源整流桥KBP310 型号&#xff1a;KBP310 品牌&#xff1a;ASEMI 封装&#xff1a;KBP-4 正向电流&#xff08;Id&#xff09;&#xff1a;3A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1000V 正向浪涌电流&#xff1a;60A …

波司登高德康:创新引领品质为先 以匠心擦亮民族品牌

从“缝缝补补又三年”到国际潮流轮转&#xff0c;从“国民面料”的确良到功能性、高科技产品频出&#xff0c;从“绿蓝黑灰”走向五彩缤纷……百姓的衣着&#xff0c;是美好生活的生动注脚&#xff0c;也见证着我国服装产业从小到大、由大变强的变迁。 当前&#xff0c;我国经济…

基于SpringBoot的“农机电招平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“农机电招平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 农机机主注册界面图 农机界面图 …

2024计算机软考基本介绍、考试时间、考试科目等2024年软考新变化政策 证书的作用

专栏系列文章推荐&#xff1a; 2024高级系统架构设计师备考资料&#xff08;高频考点&真题&经验&#xff09;https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】&#xff08;2024年软考高级…