JQ事件对象

这次跟着李炎恢老师学习事件对象,和冒泡和默认行为!!再此记下笔记以便日后学习

首先是接收事件对象

<input type="button" value="小疯疯"/>
$("input").bind('click',function(e){//接受事件对象
    alert(e);
})

event (e)是一个对象,那自然有它的属性和方法
这里呢和李炎恢老师的并不一样,这是我从书中记下的一些!!有些是JS原生的,并非JQ封装的
1. type 获取事件类型 e.type
2. target 获取绑定元素
3. currentTarget 获取冒泡前触发的DOM元素

//有两个target有什么区别呢?我举个例子
<div>
    <button>按钮</button>
</div>
<script>
    $("div").bind('click',function(e){
        alert(e.target)//button
        alert(e.currentTarget)//div
    })
</script>
//用文字说一下就是target是了你点的那个而currentTarget呢是你绑定的那个

4.cancelable 表明是否可以取消事件的默认行为,是为true
5.defaultPrevented() 可以用来取消默认行为,,也可以来取消冒泡行为.
6.(JQ封装的) e.pageY e.screen e.clientY 因为在X轴没什么区别,所以不说了,关于这3个的区别看下图这里写图片描述
如果把页面向下拉,那pageY就是client+滚动条的距离之和!,图片捉急求轻喷
7.which这个还是比较好用的可以获取键盘按键得到的是键盘吗
8.altKey shiftKey看你是否按了这几个键,有奇效- -||
*
下面是冒泡和默认事件
那什么是冒泡呢!很形象的你想想冒泡是什么样子的!
这里写图片描述请原谅我捉急的画工,大家看得懂就好!
也就是说如果我在body div input分别添加了click事件,当我点击input时,就会自动向上传递,一个一个的触发点击事件!其实还是蛮影响操作的,很容易造成混乱,所以我们要阻止冒泡行为

$("input").click(function(e){
    e.stopPropagation();//当然我上面还提到了JS原生实现阻止冒泡行为的方法
    alert("input");![这里写图片描述](http://img.blog.csdn.net/20150625191737844)
})

下面来说一下默认行为!嗯~例如我们右键点击页面会有一个菜单出现
这里写图片描述
嗯还就是点击链接会跳到另一个界面,再就是提交按钮,那如何阻止呢

$('a').click(function(e){
    e.preventDefault();//阻止默认行为
    alert('www.baidu.com');

})
//当然如果不需要事件是如何阻止,例如表单的提交
$('form').submit(function(e){
    e.preventDefault();
})
//如果又需要冒泡,又需要阻止默认行为怎么办
$('a').click(function(e){
    alert('www.baidu.com');
    return false//一步搞定
})
//还有一些检验方法
//类似于isDefaultPrevented()  isPropagationStopped()是否阻止默认行为,和冒泡
//stopImmediatePropagation()取消事件冒泡,并该事件后续事件处理函数
//isImmediatePropagationStopped()判断是否调用stopImmediatePropagation()方法!好难打,错了别怪我
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小疯疯0413

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值