Event事件常用对象==鼠标事件和表单事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: darkgoldenrod;
        }
        #inner {
            width: 100px;
            height: 100px;
            background-color: darkred;
        }
    </style>
</head>
<body>
    <div>
        <div id="inner"></div>
    </div>

    <script>
        var div = document.querySelector('div');

        // // click事件
        // div.onclick = function(e) {
        //     console.log(e.type);
        // };

        // // dblclick事件
        // div.ondblclick = function(e) {
        //     console.log(e.type);
        // };

        // // mouseover事件:如果有后代元素,那么在进入到后代元素或从后代元素再进入到自身时会多次触发该事件,
        

> // mouseover速度快,重复多

        // div.onmouseover = function(e) {
        //     console.log(e.type);
        // };

        // mouseout事件:问题同上,进入自己和后代的元素,不会重复触发在某个元素内
        // div.onmouseout = function(e) {
        //     console.log(e.type);
        // };

        // // mouseenter事件:如果有后代元素,不会重复触发,只有进出本元素才会触发
        // div.onmouseenter = function(e) {
        //     console.log(e.type);
        // };

        // // mouseleave事件:也没有重复触发问题
        // div.onmouseleave = function(e) {
        //     console.log(e.type);
        // };

        // mousedown事件:在鼠标压下去的时候只触发一次(包含后代元素),不会持续触发
        div.onmousedown = function(e) {
            console.log(e.type);
        };

        // mouseup事件
        div.onmouseup = function(e) {
            console.log(e.type);
        };

        // mousemove事件
        div.onmousemove = function(e) {
            console.log(e.type);
        };
    </script>
</body>
</html>

// mouseleave mouseenter,不冒泡,冒泡可以看作在后代元素是否重复触发

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #red {
            width: 300px;
            height: 300px;
            background-color: #f00;
        }
        #green {
            width: 200px;
            height: 200px;
            background-color: #0f0;
        }
        #blue {
            width: 100px;
            height: 100px;
            background-color: #00f;
        }
        div {
            margin: 50px auto;
            padding-top: 0.1px;
            border-radius: 50%;
        }
    </style>
</head>
<body>
    <div id="red">
        <div id="green">
            <div id="blue"></div>
        </div>
    </div>

    <script>
        var red = document.querySelector('#red');
        var green = document.querySelector('#green');
        var blue = document.querySelector('#blue');

        red.addEventListener('mouseenter', function() {
            console.log('red');
        }, false);
        green.addEventListener('mouseenter', function() {
            console.log('green');
        }, false);
        blue.addEventListener('mouseenter', function() {
            console.log('blue');
        }, false);
    </script>
</body>
</html>

//

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    用户名:
    <input type="text" name="userName">

    <script>
        var input = document.querySelector('input');

        input.onfocus = function(e) {
            console.log(e.type);
        };

        input.onblur = function(e) {
            console.log(e.type);
        };
    </script>
</body>
</html>

//

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    用户名:
    <input type="text" name="userName">

    <script>
        var input = document.querySelector('input');

        // oninput事件:当表单元素中的内容变化就会触发
        input.oninput = function(e) {
            console.log(e.type);
        };

        // onchange事件:当不当元素中内容变化,且失去焦点时触发,就是里面有东西,然后光标消失
        input.onchange = function(e) {
            console.log(e.type);
        };

        input.onblur = function(e) {
            console.log(e.type);
        };

    </script>
</body>
</html>

//

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    用户名:
    <input type="text" name="userName">

    <script>
        var input = document.querySelector('input');

        // oninput事件:当表单元素中的内容变化就会触发
        input.oninput = function(e) {
            console.log(e.type);
        };

        // onchange事件:当不当元素中内容变化,且失去焦点时触发
        input.onchange = function(e) {
            console.log(e.type);
        };

        input.onblur = function(e) {
            console.log(e.type);
        };

    </script>
</body>
</html>

//

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="ok.html">
        用户名:
        <input type="text" name="userName"><br>
        <button>提交</button>
        <button type="reset">重置</button>
    </form>


    <script>
        /* 
            submit事件:当提交按钮被点击时触发,注意该事件需要***给form元素***加,该事件可以被用来阻断数据的提交,如果该事件对应的事件处理函数的返回值为false,那么就会阻断提交
            reset事件:当重置按钮被点击时触发,注意该事件也是给form元素加
        */

        var form = document.querySelector('form');

        // form.onsubmit = function(e) {
        //     alert('提交按钮被点击了!!!');
        // };
        // form.onreset = function(e) {
        //     alert('重置按钮被点击了!!!');
        // };


        form.onsubmit = function() {
            return false;//如果submit事件处理函数的返回值为false,则阻断数据的提交
        };
    </script>
</body>
</html>

//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值