JavaScript中的监听句柄

简介: JavaScript中的监听句柄

前言


监听就是触发某事件之后做出的响应,监听句柄是触发某相应的条件



一、效果展示


鼠标聚焦、鼠标移开、鼠标点击等等都可以作为监听句柄


90626dc20ab744d989b02fcb39f1e7d5.gif


二、句柄合集


<!-- 
    onchange  HTML 元素改变
    onclick 用户点击 HTML 元素
    onmouseover 用户在一个HTML元素上移动鼠标
    onmouseout  用户从一个HTML元素上移开鼠标
    onkeydown 用户按下键盘按键
    onload  浏览器已完成页面的加载
    onclick 失去焦点
    onfocuse 获取焦点
 -->


三、添加监听的两种的方式:


1.将事件与函数绑定在一起


例如将点击监听句柄与f1函数绑定起来



<!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>
    <script>
        function f1()
        {
            element=document.getElementById("myimage")
            if(element.src.match("bulbon"))
            {
                element.src="../pic_bulboff.gif"
            }
            else{
                element.src="../pic_bulbon.gif"
            }
        }
    </script>
    <img id="myimage" src="../pic_bulboff.gif" onclick="f1()" alt="" width="100" height="150">
    <p>点击灯泡开关灯</p>
</body>
</html>


2.先获取元素再添加事件


例如
        var x = document.getElementById("myBtn");
        x.addEventListener("mouseover", myFunction);
        将鼠标覆盖句柄与函数myFunction绑定在一起


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
    <body>
            <p>实例使用 addEventListener() 方法在同一个按钮中添加多个事件。</p>
            <button id="myBtn">点我</button>
            <p id="demo"></p>
    <script>
            var x = document.getElementById("myBtn");
            x.addEventListener("mouseover", myFunction);
            x.addEventListener("click", mySecondFunction);
            x.addEventListener("mouseout", myThirdFunction);
            function myFunction() {
                document.getElementById("demo").innerHTML += "Moused over!<br>"
            }
            function mySecondFunction() {
                document.getElementById("demo").innerHTML += "Clicked!<br>"
            }
            function myThirdFunction() {
                document.getElementById("demo").innerHTML += "Moused out!<br>"
            }
            // 监听函数如何传递参数
            document.getElementById("myBtn").addEventListener("click", function() {
                myFunction(p1, p2);
            });
            function myFunction(a, b) {
                 var result = a * b;
                 document.getElementById("demo").innerHTML = result;
            }
    </script>
    </body>
</html>


总结


两种监听方式均可以达到效果,个人认为先获取后添加的句柄监听使用更为方便。

相关文章
|
7月前
|
JavaScript
在 Vue.js 中使用 watch 来监听对象属性的变化
在 Vue.js 中使用 watch 来监听对象属性的变化
|
6月前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
304 0
|
6月前
|
JavaScript 前端开发 API
JavaScript全屏,监听页面是否全屏
JavaScript全屏,监听页面是否全屏
101 0
|
8月前
|
JavaScript 前端开发 API
js全屏,监听页面是否全屏
js全屏,监听页面是否全屏
117 4
|
10月前
|
JavaScript 前端开发
JS的监听事件
JS的监听事件
|
9月前
|
测试技术 API Android开发
autox.js如何监听异常情况,比如网络中断、内存慢、应用死机或者页面无响应
autox.js如何监听异常情况,比如网络中断、内存慢、应用死机或者页面无响应
|
11月前
|
存储 JavaScript 安全
JS 监听用户页面访问&页面关闭操作并进行数据上报
该文主要讨论了一个网页安全项目的需求和实现,涉及用户访问和离开页面时的数据报告。需求包括首次进入、刷新、新标签页打开、导航切换以及页面关闭时的数据发送。技术要点包括使用Cookie和SessionStorage存储信息,事件监听以及navigator.sendBeacon方法进行数据发送。实现策略包括轮询检测URL变化和在unload事件中触发页面关闭报告。文章还提到了相关流程图和代码示例,总结中强调了数据上报在用户行为分析中的重要性。
199 3
|
9月前
|
前端开发 JavaScript
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
790 0
|
10月前
|
JavaScript
一篇文章讲明白js鼠标侧键监听(也有左键,中键和右键)
一篇文章讲明白js鼠标侧键监听(也有左键,中键和右键)
355 0
|
11月前
|
JavaScript 前端开发
Javascript的一些监听事件
Javascript的一些监听事件
72 2
下一篇
oss创建bucket