事件

14 篇文章 0 订阅

1. 事件绑定(2种):

  * eventName(function(){})

    绑定对应事件名的监听, 例如:$('#div').click(function(){});

  * on(eventName, funcion(){})

    通用的绑定事件监听, 例如:$('#div').on('click', function(){})

  * 优缺点:

    eventName: 编码方便, 但只能加一个监听, 且有的事件监听不支持

    on: 编码不方便, 可以添加多个监听, 且更通用

2. 事件解绑:

  * off(eventName)

3. 事件的坐标

  * event.clientX, event.clientY  相对于视口的左上角

  * event.pageX, event.pageY  相对于页面的左上角

  * event.offsetX, event.offsetY 相对于事件元素左上角

4. 事件相关处理

  * 停止事件冒泡 : event.stopPropagation()

  * 阻止事件默认行为 : event.preventDefault()

//    1. 给.out绑定点击监听(用两种方法绑定)
        $('.out').click(function(){
            console.log('click out')
        })
        $('.out').on('click',function(){
            console.log('on click out1')
        })
//    2. 给.inner绑定鼠标移入和移出的事件监听(用3种方法绑定)
        $('.inner').mouseenter(function(){
            
        }).mouseleave(function(){

        })
        
        $('.inner').on('mouseenter',function(){

        }).on('mouseleave',function(){

        })
        $('.inner').hover(function(){

        },function(){

        })
//    3. 点击btn1解除.inner上的所有事件监听
        $('#btn1').click(function(){
            $('.inner').off()
        })
//    4. 点击btn2解除.inner上的mouseover事件
        $('#btn2').click(function(){
            $('.inner').off('mouseover')
        })
//    5. 点击btn3得到事件坐标
        $('#btn3').click(function(){
            console.log(event.offsetX,event.offsetY)//原点为事件元素左上角
            console.log(event.clientX,event.clientY)//原点为窗口的左上角
            console.log(event.pageX,event.pageY)    //原点为页面的左上角
        })

//    6. 点击.inner区域, 外部点击监听不响应
        $('.inner').click(function(event){//声明event
            //停止事件冒泡
            event.stopPropagation()
        })    
//    7. 点击链接, 如果当前时间是偶数不跳转
        $('#test4').click(function(event){
            if(Date.now()%2==0){
                event.preventDefault//组织事件的默认行为
                
                
            }
        })

事件委托:

将多个子元素的事件叫给父元素代为处理,

监听会调用是加在父元素上

当操作任何一个子元素的时候,事件会冒泡到父元素上

父元素不会直接处理,根据event.target得到发生事件的子元素,通过这个子元素调用事件回调函数

(事件委托给父元素,需要找的时候先冒泡到父元素上,然后再通过这个子元素调用事件的回调函数)

好处:

新增的元素自动有事件相应处理

减少事件监听的数量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值