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

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>
  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值