34js学习第十七天DOM的事件对象

## DOM的事件对象
 - 事件自带的对象   包含事件相关的一些属性


## 伪元素
 - ::before 插入到子元素最前面
 - ::after 插入到子元素最后面
 - content 属性   必须
   字符编码
 - 自定义样式   


 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>01DOM的事件对象</title>
    <style>
        input{
            display: none;
        }
        label::before{
            content: "\2610";
            /* content: ""; */
            display: inline-block;
            width: 20px;
            height: 20px;
            /* border-radius: 50%;
            background: yellow; */
        }
        input:checked+label::before{
            content: "\2611";
            /* content: "√"; */
            display: inline-block;
            width: 20px;
            height: 20px;
            color: blue;
            /* color: #fff;
            background:red; */
        }
    </style>
</head>
<body>
    <h1>01DOM的事件对象</h1>
    <input type="checkbox" id="se">
    <label for="se">哈哈哈哈</label>
</body>
<script>
    // 01DOM的事件对象
    document.οnclick=function(e){
        // console.log(e);
        // 浏览器兼容   IE 
        e=e||window.event;
        // window.event  IE浏览器
        console.log(e);
    }

    document.οnkeydοwn=function(e){
        console.log(e)
    }


    // 给函数的参数设置默认值
    function func(a){
        a=a||10;
        console.log(a)
    }
    func();
    func(20);

</script>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>02DOM的事件对象(键盘)</title>
</head>
<body>
    <h1>02DOM的事件对象(键盘)</h1>
    <input type="text">
</body>
<script>
    // 02DOM的事件对象(键盘)

    document.οnkeydοwn=function(e){
        var e=e||window.event;
        console.log(e)
        // console.log(e.which)
    }
    // altKey 返回当事件被触发时,"ALT"是否被按下。
    // ctrlKey 返回当事件被触发时,"CTRL"是否被按下。
    // shiftKey 返回当事件被触发时,"SHIFT"是否被按下。
    // metaKey 返回当事件被触发时,"MATE"是否被按下(Mac系统)。
    // code 返回键盘编码  
    // key 返回按键标识符
    // keyCode 返回按键字符代码   针对IE8以下的浏览器
    // which 返回按键的字符代码 
    // target 返回事件作用的目标元素
    // bubbles 是否具有冒泡属性
    // cancelBubble 是否取消冒泡
    // type 返回事件类型

    document.getElementsByTagName("input")[0].οnkeydοwn=function(e){
        var e=e||window.event;
        console.log(e)
        // e.cancelBubble=true
    }

</script>
</html>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>03DOM的事件对象(鼠标)</title>
    <style>
        #box {
            width: 200px;
            height: 200px;
            background: red;
        }
    </style>
</head>

<body>
    <h1>03DOM的事件对象(鼠标)</h1>
    <div id="box">这是一个盒子</div>
</body>
<script>
    // 03DOM的事件对象(鼠标)

    // document.οnclick=function(e){
    //     var e=e||window.event;
    //     console.log(e)
    //     // console.log(e.which)
    // }

    // altKey 返回当事件被触发时,"ALT"是否被按下。
    // ctrlKey 返回当事件被触发时,"CTRL"是否被按下。
    // shiftKey 返回当事件被触发时,"SHIFT"是否被按下。
    // metaKey 返回当事件被触发时,"MATE"是否被按下(Mac系统)
    // type 返回事件类型
    // target 返回触发事件的目标元素
    // bubbles 是否具有冒泡属性
    // cancelBubble 是否取消冒泡
    // button 
    // buttons
    // which 返回按下的键的编码(1左 2中 3右)

    // clientX 
    // clientY  
    // offsetX
    // offsetY

    // document.onmousedown = function (e) {
    //     var e = e || window.event;
    //     console.log(e)
    //     // console.log(e.which)
    // }
    document.getElementById("box").onmousedown = function (e) {
        var e = e || window.event;
        console.log(e)
        // console.log(e.offsetX,e.offsetY)
        // console.log(e.clientX,e.clientY)
        // e.cancelBubble = true
    }
</script>

</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>04CSS的content属性</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #box,#box2{
            width: 200px;
            height: 200px;
            background: yellow;
        }
        #box::before{
            /* content: "你好"; */
            /* content: url("homework/img/0.webp"); */
            content: "";
            display: block;
            width: 50px;
            height: 50px;
            background: red;
            color: #fff;
        }
        /* 伪元素 */
        li{
            width: 100px;
            height: 100px;
            background: pink;
            margin: 10px;
            float: left;
        }
        ul::after{
            content: "";
            display: block;
            clear: both;
        }
        input{
            display: none;
        }
        label::before{
            /* content: "\2610"; */
            content: "";
            display: inline-block;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            border: 2px solid red;
            /* color: blue; */
            /* border: 2px solid blue;
            text-align: center;
            line-height: 20px; */
        }
        input:checked+label::before{
            /* content: "\2611"; */
            content: "√";
            display: inline-block;
            color: #fff;
            background: red;
            text-align: center;
            line-height: 20px;
        }
        /* #swim+label{
            color: yellow;
        } */
    </style>
</head>
<body>
    <h1>04CSS的content属性</h1>
    <input type="checkbox" id="swim">
    <label for="swim">游泳</label>
    <input type="checkbox" id="run">
    <label for="run">跑步</label>
    <input type="checkbox" id="sing">
    <label for="sing">唱歌</label>
    <div id="box">
        <p>这是段落</p>
    </div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <!-- <div class="clear"></div> -->
    </ul>
    <div id="box2"></div>
</body>
<script>
    // 04CSS的content属性


</script>
</html>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>04鼠标事件中不同坐标的区别</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        #box {
            width: 200px;
            height: 200px;
            background: red;
            position: absolute;
            top: 100px;
            left: 100px;
        }
        #box2{
            width: 2000px;
            height: 10000px;
        }
    </style>
</head>

<body>
    <!-- <h1>04鼠标事件中不同坐标的区别</h1> -->
    <div id="box"></div>
    <div id="box2"></div>
</body>
<script>
    // 04鼠标事件中不同坐标的区别
    var oBox=document.getElementById("box");

    // 添加鼠标按下事件
    // oBox.οnmοusedοwn=function(e){
    //     var e=e||window.event;
    //     console.log(e);
    // }


    // clientX: 返回鼠标指针的坐标(可视区域) 
    // clientY:
    // oBox.οnmοusedοwn=function(e){
    //     var e=e||window.event;
    //     console.log(e); 
    //     // console.log(e.clientX,e.clientY);
    // }

    // pageX: 返回鼠标指针的坐标(整个网页)  
    // pageY
    // =clentX+滚动条卷去的部分
    // oBox.οnmοusedοwn=function(e){
    //     var e=e||window.event;
    //     // console.log(e); 
    //     console.log(e.pageX,e.pageY);
    //     console.log(e.clientX,e.clientY);
    // }

    // screenX: 返回鼠标指针的坐标(整个屏幕区域)
    // screenY:
    // oBox.οnmοusedοwn=function(e){
    //     var e=e||window.event;
    //     // console.log(e); 
    //     console.log(e.screenX,e.screenY);
    // }


    // offsetX: 返回鼠标指针的坐标(触发事件的元素)
    // offsetY
    oBox.οnmοusedοwn=function(e){
        var e=e||window.event;
        // console.log(e); 
        console.log(e.offsetX,e.offsetY);
        console.log(e.pageX,e.pageY);
    }


    // layerX: 
    // layerY: 

    // x:
    // y:

</script>

</html>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>05鼠标跟随效果</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        #box {
            width: 200px;
            height: 200px;
            background: red;
            position: absolute;
            top: 0px;
            left: 0px;
        }
        /* #box2{
            width: 2000px;
            height: 10000px;
        } */
    </style>
</head>

<body>
    <!-- <h1>04鼠标事件中不同坐标的区别</h1> -->
    <div id="box"></div>
    <div id="box2"></div>
</body>
<script>
    // 04鼠标事件中不同坐标的区别
    var oBox=document.getElementById("box");

    // 添加鼠标移动事件
    document.οnmοusemοve=function(e){
        var e=e||window.event;
        // console.log(e.clientX,e.clientY);
        oBox.style.left=e.clientX+"px";
        oBox.style.top=e.clientY+"px";
    }

</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值