事件的分类

1、页面事件

(1)load:页面加载事件,用于body内所有标签都加载完成后才触发

(2)unload:用于页面关闭时触发,经常用于清除变量,避免内存泄露

2、焦点事件:多用于表达验证

(1)focus:当获得焦点时触发

(2)blur:失去焦点时触发

 <style>
        .ok{
            color: green;
        }
        .fail{
            color: red;
        }
    </style>
</head>
<body>
    <div>
        用户名:<input type="text" id="userName"><span id="nameInfo"></span>
        <br><br>
        密码:<input type="password" id="pwd"><span id="pwdInfo"></span>
    </div>
    <script>

        let name =document.querySelector('#userName')
        let pwf = document.querySelector('#pwd')

        name.addEventListener('blur',function(){
            let span =  document.querySelector('#nameInfo')
            if(this.value === 'abc'){//用户名正确
                span.classList.remove('fail')
                span.innerHTML = '用户名正确'
                span.classList.add('ok')

            }else{
                span.classList.remove('fail')
                span.innerHTML = '用户名错误'
                span.classList.add('fail')
            }            
        })

        pwf.addEventListener('blur',function(){

            let scrt = document.querySelector('#pwdInfo')

            if(this.value.length >=6 && this.value.length <= 16){

                scrt.classList.remove('fail')
                scrt.innerHTML = '密码正确'
                scrt.classList.add('ok')

            }else{
                scrt.classList.remove('fail')
                scrt.innerHTML = '密码错误'
                scrt.classList.add('fail')
            }
        })
    </script>

3、鼠标事件

(1)click:鼠标单击

(2)dblclick:鼠标双击

(3)mouseover:鼠标进入

(4)mouseout:鼠标离开

(5)change:当内容发生改变时触发---input、select

实例:通过select改变页面背景色

  <select id="changeColor">
        <option value="%">请选择</option>
        <option value="blue">蓝色妖姬</option>
        <option value="red">血腥玛丽</option>
        <option value="green">青青草原</option>
    </select>
    <script>
        let select = document.querySelector('#changeColor')
        select.addEventListener('change',function(){
            document.body.style.backgroundColor = this.value
        })
    </script>

  (6) mousedown:当按下任意鼠标按键时触发

  (7) mouseup:当释放任意鼠标按键时触发

(8)mousemove:在元素内当鼠标移动时持续触发

4、在鼠标事件中、鼠标的位置信息的获取

(1)client X:鼠标指针位于浏览器页面当前窗口可视区的水平坐标(x轴坐标)

(2)clientY:鼠标指针位于浏览器页面当前窗口可视区的垂直坐标(Y轴坐标)

(3)pageX:鼠标指针位于文档的水平坐标(x轴坐标)

(4)pageY:鼠标指针位于文档的垂直坐标(Y轴坐标)

(5)screenX:鼠标指针位于屏幕的水平坐标(x轴坐标)

(6)screenY:鼠标指针位于屏幕的垂直坐标(Y轴坐标)

课堂练习:当鼠标在浏览器窗口移动时,在鼠标指针旁边显示指针的坐标

 <style>
        #dt{           
            width: 30px;
            height: 15px;
            line-height: 15px;
            text-align: center;
            position: absolute;
            color: red;
        }
    </style>
</head>
<body>
    <!-- 课堂练习:当鼠标在浏览器窗口移动时,在鼠标指针旁边显示指针的坐标 -->
    <div id="dt">

    </div>
    <script>       
    window.onload = function(){
    //获取div
    let div = document.querySelector('#dt')
    //给document绑定mousemove事件
    document.onmousemove = function(e){
    //获取鼠标指针在浏览器可视窗口中的坐标
    let my_left = e.clientX 
    let my_top = e.clientY 
    //修改div的坐标
    div.style.left = (my_left + 10)+'px'
    div.style.top = my_top+'px'
    //设置div的内容
    div.innerHTML = `(${my_left},${my_top})`

    }
     }
    </script>

强调:事件对象的兼容性处理

(一)早期IE浏览器版本获取事件对象的方法:window.event

标准浏览器获取事件对象的方法:event

DOM对象:addEventListener('事件名称',function(e){

let my_event = e.window.event

})

(二)早期IE浏览器对象pageX和pageY的兼容性处理

varpagex = event.pageX || event.clientX+document.documentElement.scrollLeft

varpageY = event.pageY|| event.clientY+document.documentElement.scrollTop

鼠标在文档中的坐标等于鼠标在当前窗口中的坐标加上滚动条卷去的文本长度

5、键盘事件:用户在使用键盘时触发

(1)keypress:键盘上按键按下触发时,不包含非字符按键,保存按键的ASCLL码值

(2)keydown:键盘上按键按下时触发

(3)keyup:键盘按键弹起时触发

6、表单事件:操作表单时触发

(1)submit:当表单提交时触发

(2)reset:当表单重置时触发

document.addEventListener('keypress',function(e){
            console.log('keypress:',e.keyCode)
        })
        document.addEventListener('keydown',function(e){
            console.log('keydown:',e.keyCode)

            if(e.altKey){
                alert('Alt')
            }
            if(e.ctrlKey){}
            if(e.shiftKey){}

            console.log(e)
            console.log(e.code)
            console.log(e.key)
        })
        document.addEventListener('keyup',function(e){
            console.log('keyup:',e.keyCode)
        })

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值