打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HTML中的DOM事件——鼠标事件、键盘事件、框架对象事件、表单事件
userphoto

2022.11.28 湖南

关注

viceen

于 2022-07-06 09:28:59 发布

756

 收藏 3

分类专栏: html和css 文章标签: html javascript 前端

版权

html和css

专栏收录该内容

5 篇文章0 订阅

订阅专栏

HTML中的DOM事件——鼠标事件、键盘事件、框架/对象事件、表单事件

1. 什么是事件

是通过用户进行触发的一些行为。比如:点击、双击、键盘按下抬起等等都称为事件。

事件在触发的时候会产生一个事件对象。

2.事件的添加方式

在标签内添加事件名称,并调用对应的事件处理函数

<body>

    <button id="box" onclick="a()">按钮</button>

</body>

<script>

    function a() {

        console.log("点击了");

    }

</script>


通过获取 DOM 对象,然后添加事件,并赋值的事件的处理函数。

<body>

    <button id="box">按钮</button>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    // 给元素添加事件

    box.onclick = function (event) {

        console.log("点击了");

        console.log(event);

    };

</script>


通过监听的方式添加事件。

<body>

    <button id="btn">按钮</button>

</body>

<script>

    var btn = document.getElementById("btn");

    // 通过添加事件的监听

    // 第一个参数是事件的类型

    // 第二个参数是事件的处理函数

    btn.addEventListener("click", function (event) {

        console.log("点击了");

        console.log(event); 

    });

</script>



3. 鼠标事件

3.1 单机事件 onclick

3.2 双击事件 ondblclick

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.ondblclick = function () {

        console.log("双击了");

    };

</script>



3.3 鼠标按下事件 onmousedown

鼠标在某一个元素中进行按下操作时会触发

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmousedown = function () {

        console.log("鼠标按下");

    };

</script>

3.4 鼠标抬起事件 onmouseup

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmouseup = function () {

        console.log("鼠标抬起");

    };

</script>


3.5 鼠标进入事件 onmouseenter

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmouseenter = function () {

        console.log("鼠标进入");

    };

</script>



3.6 鼠标离开事件 onmouseleave

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmouseleave = function () {

        console.log("鼠标离开");

    };

</script>

3.7 鼠标移动事件 onmousemove

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmousemove = function () {

        console.log("鼠标移动");

    };

</script>


3.8 鼠标移入 onmouseover

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmouseover = function () {

        console.log("鼠标移入");

    };

</script>


3.9 鼠标移除 onmouseout

<head>

    <style>

        #box {

            width: 200px;

            height: 200px;

            background: palegreen;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    // 获取DOM对象

    var box = document.getElementById("box");

    box.onmouseout = function () {

        console.log("鼠标移出");

    };

</script>


4. 键盘事件

4.1 某个键盘按键被按下:onkeydown

<script>

    document.body.onkeydown = function (event) {

        console.log(event.keyCode); // 获取键盘按键的键码

        console.log("键盘按下");

    };

</script>


4.2 某个键盘按键被松开:onkeyup

<script>

    document.body.onkeyup = function (event) {

        console.log(event.keyCode); // 获取键盘按键的键码

        console.log("键盘抬起");

    };

</script>


4.3 某个键盘按键被按下并松开:onkeypress

<script>

    document.body.onkeypress = function (event) {

        console.log(event.keyCode); // 获取键盘按键的键码

        console.log("键盘按下并抬起");

    };

</script>


5. 框架/对象(Frame/Object) 事件

5.1 一张页面或一幅图像完成加载:onload

<head>

    <script>

        // 页面加载事件 这个事件通过情况下绑定在 window

        window.onload = function () {

            foo();

            var box = document.getElementById("box");

            console.log(box);

        };

        function foo() {

            console.log("foo");

        }

    </script>

</head>

<body>

    <div id="box"></div>

</body>


5.2 当文档被滚动时发生的事件:onscroll

<head>

    <style>

        #box {

            height: 3000px;

        }

    </style>

</head>

<body>

    <div id="box"></div>

</body>

<script>

    window.document.onscroll = function () {

        console.log("滚动事件触发了");

        // 获取文档滚动的高度

        var top = document.documentElement.scrollTop;

        console.log(top);

    };

</script>



5.3 窗口或框架被重新调整大小:onscroll

<script>

    window.onresize = function () {

        console.log("窗口大小变化了");

    };

</script>


6. 表单事件

6.1 元素失去焦点时触发:onblur

<body>

    <form action="" method="get">

        <p>

            用户名:

            <input type="text" id="username" />

        </p>

        <input type="submit" value="提交" />

    </form>

</body>

<script>

    var username = document.getElementById("username");

    username.onblur = function () {

        console.log("失焦了");

    };

</script>


6.2 该事件在表单元素改变时触发:onchange

<body>

    <form action="" method="get">

        <p>

            用户名:

            <input type="text" id="username" />

        </p>

        <input type="submit" value="提交" />

    </form>

</body>

<script>

    var username = document.getElementById("username");

    username.onchange = function () {

        // 当你失焦了才能触发 或者 回车

        console.log("输入了");

    };

</script>

6.3 元素获取焦点时触发:onfocus

<body>

    <form action="" method="get">

        <p>

            用户名:

            <input type="text" id="username" />

        </p>

        <input type="submit" value="提交" />

    </form>

</body>

<script>

    var username = document.getElementById("username");

    username.onfocus = function () {

        console.log("获取焦点");

    };

</script>


6.4 元素获取用户输入时触发:oninput

<body>

    <form action="" method="get">

        <p>

            用户名:

            <input type="text" id="username" />

        </p>

        <input type="submit" value="提交" />

    </form>

</body>

<script>

    var username = document.getElementById("username");

    username.oninput = function () {

        // 当每输入一个值的时候就触发

        console.log("oninput事件触发了");

    };

</script>


6.5 表单提交时触发:onsubmit

<body>

    <form id="form" action="" method="get" onsubmit="login()">

        用户名:

        <input type="text" id="username" />

        </p>

    <input type="submit" value="提交" />

    </form>

</body>

<script>

    // 表单的处理函数

    function login() {

        alert("表单已经提交了");

    }

    var form = document.getElementById("form");

    form.onsubmit = function () {

        alert("登陆");

        // 组织表单的默认行为 阻止一直刷新

        // event.preventDefault();

        return false 

    };

</script>

————————————————

版权声明:本文为CSDN博主「viceen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_44867717/article/details/125632882

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JavaScript连载27-文档加载模式以及元素获取
JS事件流、DOM事件流、IE事件处理、跨浏览器事件处理、事件对象与类型
DOM – 初识与ById元素
JavaScript
Javascript拖拽&拖放系列文章3之细说事件对象
js中的事件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服