0
点赞
收藏
分享

微信扫一扫

js的事件下

金牛豆豆 2022-03-25 阅读 63

事件对象的属性:

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

    <script>

        var btn = document.querySelector('#btn')

        btn.onmousedown = function (){

            // 事件源:<button id="btn">按钮</button>

            // console.log(event.target)

            // ie事件源:<button id="btn">按钮</button>

            // console.log(event.srcElement)

            // 兼容性

            // var target = event.target || event.srcElement;

        }

    </script> -->

事件源相对电脑屏幕的坐标,和鼠标按下哪个鼠标键的属性值

<!-- <script>

        body = document.querySelector('body')

        // body.onmousemove = function (){

        //     // 鼠标到屏幕的坐标

        //     console.log(event.screenX)

        //     console.log(event.screenY)

        // }

        body.addEventListener('mousedown',function (){

            // 得到按下的是鼠标的左键  是  0   中间按钮是1   右边按钮是2

            console.log(event.button)

        })

    </script> -->

<!-- 键盘的常见事件及键盘事件的属性,每个键代表的ASCLL值: -->

    <!-- <script>

        // onkeydown: 任意键按下瞬间就会触发

        window.onkeydown = function (){

            console.log('谁让你按键盘的')

        }

    </script> -->

    <!-- <script>

        // onkeypress: 字符串(a-z0-9符号)按下瞬间就会触发

        window.onkeypress = function (){

            console.log('谁让你按键盘的')

        }

    </script> -->

    <!-- <script>

        // onkeyup: 按键抬起触发的事件

        window.onkeyup = function (){

            console.log('有本事按着不要松开')

        }

    </script> -->

    <!-- <script>

        // ctrlKey  判断按键按下的时候有没有按下ctrl ,返回布尔值

        window.onkeydown = function (){

            // 按了就是true  没按就是false

            console.log(event.ctrlKey)

        }

    </script> -->

    <!-- <script>

        // altKey  判断按键按下的时候有没有按下alt ,返回布尔值

        window.onkeydown = function (){

            // 按了就是true  没按就是false

            console.log(event.altKey)

        }

    </script> -->

    <!-- <script>

        // shiftKey  判断按键按下的时候有没有按下shift ,返回布尔值

        window.onkeydown = function (){

            // 按了就是true  没按就是false

            console.log(event.shiftKey)

        }

    </script> -->

    <!-- <script>

        // 事件对象的属性

        // keyCode  返回值是键对应的值  onkeydown  不区分字母大小写

        // window.onkeydown = function (){

        //     // enter = 13  a = 65  A = 65

        //     console.log(event.keyCode)

        // }

        // keyCode  返回值是键对应的值  onkeypress  不区分字母大小写

        window.onkeypress = function (){

            // enter = 13  a = 97  A = 65

            console.log(event.keyCode)

        }

    </script> -->

    <!-- <script>

        // ie的低版本    event.which  其他浏览器现在也支持

        window.onkeydown = function (){

            // enter = 13  a = 65  A = 65

            console.log(event.which)

        }

    </script> -->

    <script>

        // 兼容写法

        // var keyCode = event.keyCode || event.which

    </script>

事件的绑定

<script>

        /*

            事件的绑定

                1.dom0级 绑定

                    事件源.onclick = function (){}

                    再写一个事件源的时候就会覆盖

                    on+事件

                2.dom2级 绑定

                    addEventListener()  //标准浏览器使用   事件源.addEventListener('事件类型',事件处理函数)  事件类型不需要on

                    // 同时可以给事件类型绑定多个处理函数

                    attachEvent()   //IE 低版本使用    事件源.attachEvent('on事件类型',事件处理函数)

                    // 同时执行多个函数事件的时候顺序是从事件尾开始执行的    只有两个参数

        */

    </script>

    <!-- <div id="btn">按钮</div>

    <script>

        div = document.querySelector("#btn")

        // 绑定两个事件源

        div.addEventListener('click',function (){

            console.log('111')

        })

        div.addEventListener('click',function (){

            console.log('222')

        })

    </script> -->

    <!-- <div id="btn">按钮</div>

    <script>

        div = document.getElementById("btn")

        console.log(div)

        // 绑定两个事件源

        div.attachEvent('onclick',function (){

            console.log('111')

        })

        div.attachEvent('onclick',function (){

            console.log('222')

        })

    </script> -->

<script>

        /*

            事件的解绑

            复杂数据类型的比较,复杂数据类型的变量存储的就是一个在 堆 里面的地址

            复杂数据类型在比较的时候,是进行地址的比较。

        */

         /*

            1-事件名 click

            2-事件处理函数

            3-监听 冒泡还是捕获过程 ,false 监听 冒泡过程

                实际我们在写程序 只监听冒泡过程  ,第三个参数不传入,默认就是 冒泡

        */

    </script>

    <!-- <script>

        // 复杂数据类型的比较

        var obj1 = {name:'zhang'}

        var obj2 = {name:'zhang'}

        var obj3 = obj1

        // 当对象的地址一样的时候才会返回true

        // false

        console.log(obj1 == obj2)

        // true

        console.log(obj1 == obj3)

    </script> -->

   

    <!-- <div class="box">按钮</div>

    <button id="btn">解除绑定事件</button>

    <script>

事件的解绑:

        /*

            dom0级的事件解绑 :

                1.因为赋值的是行为,直接再次给他赋值为null,就会把之前的事件函数给覆盖掉

        */

       _box = document.querySelector(".box")

       _box.onclick = function (){

           console.log('111')

       }

       _btn = document.querySelector("#btn")

    //    当点击解除绑定事件的时候,再次点击div就没有点击效果了

       _btn.onclick = function (){

           _box.onclick = null

       }

    </script> -->

    <!-- <div class="box">按钮</div>

    <button id="btn">解除绑定事件</button>

    <script>

        /*

            dom2级的事件解绑:

                removeEventListener('事件源',要解除绑定事件的函数)

                注意:当你要解绑函数的时候,绑定的函数一定要是一个赋值式函数,或者是有函数名的函数

        */

        _box = document.querySelector(".box")

        _btn = document.querySelector("#btn")

        function a(){

            console.log('111')

        }

        // a表示的式函数的地址

        _box.addEventListener('click',a)

        _btn.addEventListener('click',function (){

            _box.removeEventListener('click',a)

        })

    </script> -->

    <!-- IE 低版本 -->

    <!-- <div id="box">按钮</div>

    <button id="btn">解除绑定事件</button>

    <script>

        /*

            dom2级的事件解绑:  

                detachEvent('事件源',要解除绑定事件的函数)

                注意:当你要解绑函数的时候,绑定的函数一定要是一个赋值式函数,或者是有函数名的函数

        */

        _box = document.getElementById("box")

        _btn = document.getElementById("btn")

        function a(){

            console.log('111')

        }

       

        _box.attachEvent('onclick',a)

        _btn.attachEvent('onclick',function (){

            _box.detachEvent('onclick',a)

        })

    </script> -->

事件的阻止默认行为:

<!-- <a href="javascript:;">清除a的跳转功能</a>

    <script>

        /*

            有些标签默认会进行跳转,提交等等

        */

        //    清除a标签的跳转功能

        // href="javascript:;"

    </script> -->

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

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

        <input type="text" name="password" id="" />

        <input type="submit" name="" id="btn" value="注册" />

        <button>提交</button>

        <!-- input type=button没有提交行为 -->

        <input type="button" name="" id="btn" value="注册" />

    </form>

    <script>

        /*

            表单中所有submit按钮,默认会提交,刷新当前页面

            input type=button没有提交行为

        */

        var btn = document.querySelector('#btn')

        btn.onclick = function (e){

            console.log('111')

            // 阻止默认的提交行为

            e.preventDefault();   //标准

            // e.returnvalue = false  //ie9记一下低版本

            // return false  //通用

        }

    </script>

举报

相关推荐

0 条评论