JQuery事件处理

1.注册事件

1.1.bind()方法

bind(events)      events表示一个或多个JavaScript事件函数

bind(eventType,[eventData],false)      eventType表示一个包含一个或多个JavaScript事件类型的字符串,如click、submit,也可以是自定义事件的名称;eventData表示要传递给事件处理函数的数据映射;false防止默认事件,阻止事件冒泡。

bind(eventType,[eventData],handler(eventObject))      handler(eventObject)表示每当事件触发时执行的函数,eventObject表示传递的事件对象。

eg. $("p").bind("click",function(){alert($(this).text());});

1.2.事件方法

blur()              当元素失去焦点时发生 blur 事件

change()          当元素的值发生改变时发生 change 事件,仅适用于文本域text field,以及 textarea 和 select 元素

click()              当点击元素时,会发生 click 事件

dblclick()         当双击元素时,会发生double click 事件

delegate()         向匹配元素的当前或未来的子元素附加一个或多个事件处理器

die()                移除所有通过 live() 函数添加的事件处理程序

error()             当元素遇到错误(没有正确载入)时,发生 error 事件

event.isDefaultPrevented()     返回 event 对象上是否调用了 event.preventDefault()

event.pageX     相对于文档左边缘的鼠标位置

event.pageY     相对于文档上边缘的鼠标位置

event.preventDefault()           阻止事件的默认动作

event.result     包含由被指定事件触发的事件处理器返回的最后一个值

event.target     触发该事件的 DOM 元素

event.timeStamp     该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数

event.type       描述事件的类型

event.which     指示按了哪个键或按钮

focus()            当元素获得焦点时,发生 focus 事件

keydown()       当按钮被按下时,发生 keydown 事件

keypress()        当按钮被按下时,发生key press 事件

keyup()            当按钮被松开时,发生 keyup 事件

live()                为当前或未来的匹配元素添加一个或多个事件处理器

load()               当指定的元素(及子元素)已加载时,会发生 load() 事件

mousedown()     当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件

mouseenter()      当鼠标指针穿过元素时,会发生 mouseenter 事件

mouseleave()      当鼠标指针离开元素时,会发生 mouseleave 事件

mousemove()     当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件

mouseout()         当鼠标指针从元素上移开时,发生 mouseout 事件

mouseover()       当鼠标指针位于元素上方时,会发生 mouseover 事件

mouseup()          当在元素上放松鼠标按钮时,会发生 mouseup 事件

one()          向匹配元素添加事件处理器。每个元素只能触发一次该处理器。

ready()       文档就绪事件

resize()       当调整浏览器窗口的大小时,发生 resize 事件

scroll()       当用户滚动指定的元素时,会发生 scroll 事件

select()       当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件

submit()     当提交表单时,会发生 submit 事件

toggle()      绑定两个或多个事件处理器函数,当发生轮流的 click 事件时执行。

trigger()     所有匹配元素的指定事件

triggerHandler()     第一个被匹配元素的指定事件

unbind()               从匹配元素移除一个被添加的事件处理器

undelegate()          从匹配元素移除一个被添加的事件处理器,现在或将来

unload()               触发、或将函数绑定到指定元素的 unload 事件

1.3.one()方法

one()方法是bind()方法的一个特例,由它绑定的事件在执行一次响应之后就会失效。

one(eventType,[eventData],handler(eventObject))

2.注销事件

unbind(event)

unbind(eventType,false)

unbind(eventType,handler(eventObject))

3.事件应用

3.1.事件触发

trigger(event)

trigger(eventType,extraParameters)      extraParameters表示一个额外的参数数组,可以向调用的事件处理函数传数据。

3.2.事件切换

toggle(handler1(eventObject1),handler2(eventObject2),[handler3(eventObject3)])

handler1(eventObject1)表示第一次(奇数)点击时要执行的函数,

handler2(eventObject2)表示第二次(偶数)点击时要执行的函数,

handler3(eventObject3)表示更多次点击时要执行的函数。

hover(handlerIn(eventObject),handlerOut(eventObject))      模拟悬停事件

handlerIn(eventObject)表示当鼠标指针进入元素时要执行的函数,

handlerOut(eventObject)表示当鼠标指针离开元素时要执行的函数。

3.3.事件委派

委派是一种方法引用的类型,一旦为委派分配了方法,委派将与该方法具有完全相同的行为。

live(eventType,[eventData],handler)        eventType表示一个包含一个或多个JavaScript事件类型的字符串,如click、submit,也可以是自定义事件的名称;eventData表示要传递给事件处理函数的数据映射;handler表示事件触发时执行的函数。

移除live()绑定是事件,可以用die()方法实现:

die()

die(eventType,[handler])

3.4.事件命名空间

在事件类型后面以点语法附加一个别名,以便引用click.a,其中a 就是click当前事件类型的别名,即事件命名空间。

eg.  $("div").bind("click.a",function(){$("body").append("<p>click.a事件</p>");});

$("#test").click(function(){$("div").unbind(".a");});

在trigger()方法中,如果事件类型后面附加感叹号,则表示触发不包含命名空间的特定事件类型。

3.5.自定义事件

$("#test").bind("delay",function(event){setTime(function(){alert(event.type);},1000);});

$("#test").click(function(){$("#test").trigger("delay");});


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值