jQuery的事件模式(翻译jQuery in action第四章3)

4.2.3 jQuery事件实例的统一属性

翻译之前,我说明一下,原文是inspecting event instance,我个人觉得这样定义不确切,或者说是理解起来很麻烦,本节主要是说明,jQuery传递进来的参数我们不考虑浏览器可以应用那些属性,所以我就改成这样的标题。

当我们用bind给一个元素绑定一个事件的时候,bind函数将clone一个浏览器的事件,以第一个参数传递给我们要处理的回调函数,当然在符合标准(W3C)的浏览器下,属性都很统一,但是在IE这样的浏览器下的时候,尤其在IE7之前的版本他有自己的特有属性,特殊的属性使用,需要我们在回调函数中自己定义,下边就是统一属性的说明列表:

属性

说明

altKey

当按下Alt键的时候为true,否则为false

ctrlKey

当按下Ctrl键的时候为true,否则为false

data

调用bind的时候传递的第二个参数data

keyCode

键值

metaKey

当按下meta键的时候为true,否则为false

pageX

鼠标的横坐标,相对页面

pageY

鼠标的纵坐标,相对页面

relatedTarget

当前鼠标所在焦点的元素对象

screenX

鼠标的横坐标,相对屏幕

screenY

鼠标的纵坐标,相对屏幕

shiftKey

当按下Shif键的时候为true,否则为false

target

被触发事件的元素对象

type

事件类型

which

键盘按键的类型,1:表示左键。2:表示滑轮。3:表示右键,比如左边shift和右边shift

重要的提示:keypress事件是一个不可靠事件,如果我们要监听键盘操作,最好使用keydownkeyup,举个例子:左方向键的keycode37,在任何浏览器中keyupkeydown的时候都是可靠的,都是返回37,但是在Sasafi浏览器中使用keypress的时候返回的则不是37

如果需要一个可靠的监听,那就要配合which属性,一般我们使用keyup,比如我们按下a或者A的时候,keycode返回都是65,这样我们用一个keycode就能确定是那个键按下去了,但是shift就不行了,因为他有左边和右边,就需要加which,做一区分。

本身传递过来的事件属性不止上边说明的这些,还有一些控制事件的方法,比如事件冒泡,还有一些浏览器的特殊熟悉,还需要我们进一步挖掘,下一节我们就讲jQuery下的是事件冒泡。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值