js常用事件


1. 点击事件(绑定事件的模板)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn">按键</button>
    <script>
        const btn = document.getElementById('btn')
        // console.log("获取到的元素",btn)          可以开这一行代码看获取到的元素
        btn.onclick = function(){
            console.log("按钮被点击")
        }
    </script>
    <noscript>您的浏览器不支持js哦</noscript>
</body>
</html>

等价于以下代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn" onclick="show()">按键</button>
    <script>
        const btn = document.getElementById('btn')
        // console.log("获取到的元素",btn)          可以开这一行代码看获取到的元素
        function show(){
            console.log("按键被点击")
        }
    </script>
    <noscript>您的浏览器不支持js哦</noscript>
</body>
</html>

注意onclick单词全是小写,然后绑定的函数记得加括号,不然点击按钮会没有响应!!!注意与Vue跟react的区别,博主就是写多了Vue所以事件处理这种基础都忘了,所以回来复习,顺便来个小博客哈哈

2. 鼠标事件

The MouseEvent interface represents events that occur due to the user interacting with a pointing device (such as a mouse). Common events using this interface include click, dblclick, mouseup, mousedown.

MouseEvent derives from UIEvent, which in turn derives from Event. Though the MouseEvent.initMouseEvent() method is kept for backward compatibility, creating of a MouseEvent object should be done using the MouseEvent() constructor.

Several more specific events are based on MouseEvent, including WheelEvent and DragEvent.

在这里插入图片描述


2.1 鼠标左键被单击或者双击

  • 实践经验告诉我:在一定的时间间隔单击两次鼠标就算双击哦
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn">按键</button>
    <script>
        const btn = document.getElementById('btn')
       // console.log("获取到的元素",btn)  //        可以开这一行代码看获取到的元素
        btn.onclick = function(){
            console.log("按钮被点击")
        }
        btn.ondblclick = function(){
            console.log("按钮被双击了")
        }
    </script>
    <noscript>您的浏览器不支持js哦</noscript>
</body>
</html>

或者这样添加

     btn.addEventListener('click',()=>{
         console.log("按钮被点击了")
     })
     btn.addEventListener('dblclick',()=>{
         console.log("按钮被双击了")
     })

2.2 鼠标进去或离开

        btn.addEventListener('mouseenter',()=>{
            console.log("鼠标进入")
        })
        btn.addEventListener('mouseleave',()=>{
            console.log("鼠标离开")
        })
  • 或者
        btn.onmouseenter = function(){
            console.log("鼠标进入")
        }
        btn.onmouseleave = function(){
            console.log("鼠标离开")
        }

2.3 鼠标mouseup识别哪个按钮被点击

  • e.button
    在这里插入图片描述
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn">按键</button>
    <script>
        const btn = document.getElementById('btn')
        btn.addEventListener('mouseup',(e)=>{
            switch(e.button){
                case 0:{
                    console.log("鼠标左键被点击")
                    break
                }
                case 1:{
                    console.log("1号被点击")
                    break
                }
                case 2:{
                    console.log("鼠标右键被点击")
                    break
                }
            }
        })
    </script>
    <noscript>您的浏览器不支持js哦</noscript>
</body>
</html>

在这里插入图片描述


2.4 mouseup的回调参数

  • 测试代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn">按键</button>
    <script>
        const btn = document.getElementById('btn')
        btn.addEventListener('mouseup',(e)=>{
            console.log("mouseup接收到的回调参数",e)
            
        })
    </script>
    <noscript>您的浏览器不支持js哦</noscript>
</body>
</html>
  • 结果
    在这里插入图片描述

2.5 oncontextmenu 事件

oncontextmenu 是用来设置或获取全局事件(GlobalEventHandlers)中 上下文菜单事件(contextmenu (en-US)) 的处理函数(event handler)。

当在窗口上单击鼠标右键时,通常会触发 contextmenu 事件。 除非阻止默认行为,否则浏览器上下文菜单将被激活。

W3C
在这里插入图片描述


3. 键盘事件(keydown)

eventTarget.addEventListener("keydown", event => {
  if (event.isComposing || event.keyCode === 229) {
    return;
  }
  // do something
});

更多事件属性见MDN

官网


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员三木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值