jq06--jq事件对象、event、data、pageX/pageY、target、keyCode、which

1   jQuery事件对象介绍

概述:jq事件对象可以简单的理解成对象发生完绑定事件后每个对象所对应的处理函数的event参数

事件处理函数不给event参数虽然也可打印出event,但是打印出来的对象缺少很多数据(下面可自行再控制台打开查找不同)

建议在事件处理函数上添加event参数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box{
            width: 300px;
            padding: 50px 0;
            background-color: pink;
            cursor: pointer;
            text-align: center;
        }
    </style>
</head>
<body>
<div class="event">
    <button class="but">jq事件对象</button>
    <div class="box">
        <p>https://blog.csdn.net/muzidigbig</p>
        <p>jq事件对象</p>
    </div>
    <p>你既然认准一条道路,何必去打听要走多久。</p>
</div>
</body>
<script src="jquery-3.3.1.js"></script>
<script>
    //事件对象打印出event事件对象
    $('.but').bind('click',['name','muzidigbig'],function (event) {
        console.log('jq事件对象:');
        console.log(event);
        //动画的回调函数传参无意义;打印出undefind
        $('.box').slideUp(2000,function (event) {
            console.log(event);
            $('.box').slideDown(2000);
        });
    });
</script>
</html>


常用事件对象中的属性:

    event.data                            传递给事件处理程序的额外数据

    event.currentTarget             等同于this,在事件冒泡阶段中的当前DOM元素

        对于非授权的事件处理程序,直接连接到一个元素,event.delegateTarget 总是等价于event.currentTarget.

    event.pageX/event.pageY                         鼠标相对于文档左部边缘的位置/最顶部的位置

    event.target                         触发事件源(获得触发这个事件的dom对象),不一定===this

    event.type                            事件类型:click,dbclick…

    event.which                         鼠标的按键类型:左1 中2 右3  默认0

    event.keyCode                     键盘按键代码(返回值number)

    event.timeStamp                 这个属性返回事件触发时距离1970年1月1日的毫秒数。

    event.stopPropagation(); 阻止事件冒泡

    event.preventDefault();      阻止默认行为


1.event.data

<script>
    //事件对象中的属性;下面bind()中的数组就是数据对象的额外数据对象
    $('.but').bind('click',{'name':'muzidigbig'},function (event) {
        console.log('jq事件对象:');
        console.log(event);
        //打印出额外数据 event.data
        console.log(event.data);
        //从额外数据中取值  event.data对象中的k
        console.log(event.data.name);
    })
</script>

2.event.currentTarget

<script>
$('.but').bind('click',{'name':'muzidigbig'},function (event) {
    console.log('jq事件对象:');
    console.log(event);
    console.log(event.currentTarget == this);//打印出true
})
</script>

3.event.pageX/event.pageY     鼠标相对于绑定对象X/Y轴的距离

<script>
//pageX鼠标相对于绑定对象最边缘的距离
$('.box').on('mouseover',{'name':'muzidigbig'},function (event) {
    console.log('jq事件对象:');
    console.log(event);
    console.log("X:"+event.pageX+"Y:"+event.pageY);
})
</script>

4.event.target    触发事件源(获得触发这个事件的dom对象)    event.type    获得事件类型

<script>
    //事件触发源获得触发这个事件的dom对象
    $('.box').on('mouseenter',{'name':'muzidigbig'},function (event) {
        console.log('jq事件对象:');
        console.log(event);
        console.log(event.target);
//        event.type获得事件类型
        console.log(event.type);
})
</script>

5. event.which     鼠标的按键类型:左1 中2 右3  默认0

$(document).on('keydown',{'name':'muzidigbig'},function (event) {
    console.log('jq事件对象:');
    console.log(event);
    console.log(event.which);

})
6.event.keyCode     键盘按键代码(返回值number)和keydown/keyup(事件会在键盘按下/松开时触发)配合使用
$(document).on('keydown keyup',{'name':'muzidigbig'},function (event) {
    console.log('jq事件对象:');
    console.log(event);
    //上 38 右 39 下 40 左 37
    console.log(event.keyCode);
})
7.event.timeStamp   这个属性返回事件触发时距离1970年1月1日的毫秒数。
$(document).on('keydown keyup',function () {
    console.log('jq事件对象:');
    console.log(event);
    var stamp = event.timeStamp;
    console.log(stamp);
})


未完待续……


若有不足请多多指教!希望给您带来帮助!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值