首页 > 编程语言 >JS(JavaScript)-事件-Event事件

JS(JavaScript)-事件-Event事件

时间:2023-12-11 14:46:41浏览次数:32  
标签:触发 12 鼠标 -- JavaScript JS 事件 Event

 

1. 介绍:

  事件就是可以被JS侦测到的行为。
  用户操作鼠标或键盘后,触发了JS事件,然后产生相应机制。

 

  三要素:

    •   事件源:事件被触发的对象,就是谁触发了这个事件;
    •   事件类型:如何触发,什么事件;比如:鼠标点击,键盘按下
    •   事件处理程序:通过一个函数赋值的方式完成。

推荐使用外部样式连接!

2. Event事件:

关键字不可以用作方法名;

  ① 鼠标事件:

    •   onclick-单击
    •   ondblclick--双击
    •   oncontextmenu--右键单击
    •   (重点) onm ouseover--鼠标经过触发事件
    •   (重点) onm ouseout--鼠标离开触发事件(搭配使用)
    •   onmouseup--鼠标松开
    •   onmousedown--鼠标按下
    •   onclick--点击事件(与鼠标松开、按下搭配使用)
    •   onfocus--获取焦点时触发(不常用)
    •   onblur--失去焦点时触发

HTML代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <title>鼠标事件</title>
 7     <!-- 外部连接 CSS -->
 8     <link rel="stylesheet" href="../1208shijian.CSS/test1.css">
 9 </head>
10 <body>
11     <!-- 鼠标事件 -->
12         <!-- 左键单击 -->
13         <!-- <button id="an1" onclick= "dianji()">点击1</button> -->
14         <!-- 左键双击 -->
15         <!-- <button id="an1" ondblclick= "dianji()">点击2</button> -->
16         <!-- 右键单击 -->
17         <!-- <button id="an1" oncontextmenu= "dianji()">点击2</button> -->
18         <!-- 鼠标经过 -->
19         <!-- <button id="an1" onm ouseover= "dianji()">点击2</button> -->
20         <!-- 鼠标离开 -->
21         <!-- <button id="an1" onm ouseout= "dianji()">点击2</button> -->
22         <!-- 鼠标松开 -->
23         <!-- <button id="an1" onm ouseup= "dianji()">点击2</button> -->
24         <!-- 鼠标按下 -->
25         <!-- <button id="an1" onm ousedown= "dianji()">点击2</button> -->
26         
27     <!-- 鼠标事件&表单事件 -->
28         <!-- 获取焦点时触发 -->
29         <!-- <input type="text" id="inpiy-1" onfocus="anniu()" value="按钮"> -->
30         <!-- 失去焦点时触发 -->
31         <input type="text" id="inpiy-1" onblur="anniu()" value="按钮">
32 
33 
34     <!-- 外部连接 JS -->
35     <script src="../test1.js"></script>
36 </body>
37 </html>

 

CSS代码:

 

1 /* CSS定义盒子样式 */
2 #an1{
3     width: 200px;
4     height: 200px;
5     background-color: palegoldenrod;
6 }

 

JS代码:

 

 1 // 鼠标事件
 2 function dianji(){
 3     document.getElementById("an1").style.color = "blue";
 4     document.getElementById("an1").style.backgroundColor = "red";
 5 }
 6 
 7 // 鼠标事件&表单事件
 8 function anniu(){
 9     console.log("按钮!");
10 }

 

 

 

 

 

  ② 键盘事件:

    •   onkeydown--按下键盘触发(是所有键盘分区)
    •   onkeyup--松开键盘触发(功能键除外)
    •   onkeypress--按下键盘触发(功能键除外)

HTML代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <title>键盘事件</title>
 7 </head>
 8 <body>
 9     <!-- 键盘事件 -->
10         <!-- 键盘按下 -->
11         <!-- 按钮:<input type="text" onkeydown="jianpan()"> -->
12         <!-- 键盘松开 -->
13         <!-- 按钮:<input type="text" onkeyup="jianpan()"> -->
14         <!-- 键盘按下 -->
15         按钮:<input type="text" onkeypress="jianpan()">
16 
17     <!-- 外部连接 JS -->
18     <script src="../test1.js"></script>
19 </body>
20 </html>

 

JS代码:

 // 键盘事件 function jianpan(){ console.log("按一下!"); } 

 

  ③ 表单事件:

    •   (重点) onfocus--获取焦点时触发(不常用)
    •     (重点) onblur--失去焦点时触发
    •   (重点) oninput--输入时触发——onkeydown效果相同

HTML代码:

    <!-- 表单事件 -->
        <!-- 获取焦点时 -->
        获取:<input type="text" onfocus="biaodan()"><br>
        <!-- 失去焦点时 -->
        失去:<input type="text" onblur="biaodan()"><br>
        <!-- 失去焦点时 -->
        失去:<input type="text" oninput="biaodan()"><br>

 

JS代码:

 

// 表单事件
function biaodan(){
    console.log("按一下!");
}

 

 

 

 

    •   (重点) onchange--改变事件(特性:改变一次输出一次) 例:下拉表单select

       注意:改变事件必须在表单(下拉框)内;

HTML代码:

 1     <!-- 表单事件——改变事件    必须在下拉列表 -->
 2     <select name="xiala" id="list-1" onchange="xiala_list()">    
 3         <option value="12月11日">12月11日</option>
 4         <option value="12月12日">12月12日</option>
 5         <option value="12月13日">12月13日</option>
 6         <option value="12月14日">12月14日</option>
 7         <option value="12月15日">12月15日</option>
 8         <option value="12月16日">12月16日</option>
 9     </select>
10 
11     <!-- 外部连接JS -->
12     <script src="../test1.js"></script>

JS代码:

// 表单事件——改变事件
function xiala_list(){
    console.log("变一下!");
}

 

  ④ 定时器:

    window.onload=function(){};:当页面全部渲染结束才执行,可解决DOM阻塞
    关键字:setInterval(一直执行)/settimeut(执行一次)(function(){},interval-执行时段)
    if(变量 == 值){return;} 当为0时,赋予行内,判断为0则停止;

 

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定时器</title>
</head>
<body>
    <!-- 定义计时器 -->
    <p>倒计时:<span id="s">10</span>秒!</p>

    <!-- 连接外部样式JS -->
    <script src="../test1.js"></script>
</body>
</html>

JS代码:

// 定时器
// onl oad——当页面渲染完成,才执行,解决DOM堵塞问题
window.onload = function(){
var time = 10;
setInterval(function() {
    document.getElementById("s").innerText = time;
    if(time == 0){  // if判断是否执行到0;
        return;
    }
    time --;
}, 1000) // 1s = 1000ms
}

解析:

  setInterval...innerText—关键字;找到 span 标签内的 s ;将time时长赋予 s ;1000ms=1s;time-- 每次 -1s;此处的if判断放此处 为将倒计时进行到 0 ;每次的值 返回 span 标签内,当为 0 时,return 停止!

 

标签:触发,12,鼠标,--,JavaScript,JS,事件,Event
From: https://www.cnblogs.com/warmNest-llb/p/17888586.html

相关文章

  • moment.js
    //!moment.js//!version:2.29.4//!authors:TimWood,IskrenChernev,Moment.jscontributors//!license:MIT//!momentjs.com(function(global,factory){typeofexports==="object"&&typeofmodule!=="undefined"......
  • (来一套)JavaScript并查集模板
    code: classUnionFind{constructor(n){this.parent=Array.from({length:n},(_,i)=>i);this.size=newArray(n).fill(1);this.cnt=n;}findset(x){if(this.parent[x]===x){returnx......
  • verifyCode.js
    functionGVerify(options){//创建一个图形验证码对象,接收options对象为参数this.options={//默认options参数值id:"",//容器IdcanvasId:"verifyCanvas",//canvas的IDwidth:"80",//默认canvas宽度height:"30",//默......
  • 232-父级div,包含子div,子div有点击事件,父div有点击事件,js如何实现,2个点击事件不干扰
    HTML结构<divid="parent"><divid="child"></div></div>JavaScript/jQuery代码:$(document).ready(function(){//父级div的点击事件处理程序$('#parent').on('click',function(){console.log(&#......
  • js获取当前页面域名判断跳转网址输出不同内容
    js代码可以实现一些html语言无法实现的功能,比如通过js代码获取当前访问的域名。通过js代码判断当前访问域名可以进行跳转等功能。js获取当前页面域名判断跳转网址代码:<scripttype="text/javascript"> host=window.location.host;if(host=="www.adminwl.com") { window.loca......
  • CommonJS 模块
    在Node.js中,每个文件都被视为一个单独的模块。CommonJS模块系统在 module 核心模块中实现。启用Node.js有两个模块系统:CommonJS模块和 ECMAScript模块。默认情况下,Node.js会将以下内容视为CommonJS模块:扩展名为 .cjs 的文件;当最近的父 package.json 文件......
  • 前端纯js字符串拼接导出excel
    1<html>2<head>3<pstyle="font-size:20px;color:red;">使用a标签方式将json导出csv文件</p>4<buttononclick='tableToExcel()'>导出</button>5</head>6<body>7<script>8......
  • 我用 AI 写的《JavaScript 工程师的 Python 指南》电子书发布啦!
    关于本书你好,我是luckrnx09,一名靠React恰饭的前端工程师,很高兴向你介绍我的第一本开源电子书《JavaScript工程师的Python指南》。本书的内容完全免费,开源地址:https://github.com/luckrnx09/python-guide-for-javascript-engineers为什么会有这本书2022年,ChatGPT引起了......
  • js(canvas) 图片压缩
    1functioncompress(url,width,height){2returnnewPromise((resolve,reject)=>{3letimg=document.createElement('img')4img.onload=()=>{5letw=width6leth=img.naturalH......
  • MyBatis-Plus 自定义 TypeHandler 映射JSON类型为List
    1在mysql5.7支持json类型,那么在表实体是怎么运用的在mybatis-plus中有相关的handler/***Jackson实现JSON字段类型处理器**@authorhubin*@since2019-08-25*/@Slf4j@MappedTypes({Object.class})@MappedJdbcTypes(JdbcType.VARCHAR)publicclassJackso......