简述jQuery中的事件绑定

本篇是我jQuery系列网摘文章之第七篇,系统的讲解了学习jQuery的基础知识,谢谢关注,希望继续关注我后面的文章:

首先示例一个单击事件绑定:

$("#testDiv4").bind("click",function(event){alert("one");});

引申jQuery事件处理函数的好处:

1.添加的是多播事件委托,也就是为click事件又添加了一个方法,不会覆盖对象的click

事件原有的事件处理函数

2.统一了事件名称

添加多播事件委托时,ie中是事件名称前面有"on",但是使用bind()函数我们不用区分

iedom,因为内部jQuery已经帮我们统一了事件的名称

3.可以将对象行为全部用脚本控制

HTML代码部分只注意“显示”逻辑,现在的趋势是将HTML的行为,内容与样式分干净,

其中用脚本控制元素行为,用HTML标签控制元素内容,用CSS控制元素样式,使用jQuery事件处理函数可以

避免在HTML标签上直接添加事件

jQuery事件处理函数:

bind(type,[data],fn),为每一个匹配元素的特定事件绑定一个事件处理器函数,示例:

$("p").bind("click",data,function(){

      alert($(this).text+"/r"+data);

});

one(type,[data],fn);为每一个匹配元素的特定事件绑定一个一次性的事件处理函数,

trigger(event,[data])在每一个匹配的元素上触发某类事件,这个函数也会导致浏览器同名的

默认行为的执行,如果要阻止这种默认行为,应返回false,示例:

$("p").click(function(event,a,b){

      alert(a+b);

}).trigger("click",["Hello","World!"]);

将弹出Hello World!

triggerHandler(event,[data]),这个方法将会触发指定的事件类型上所有绑定的处理

函数,但不会执行浏览器默认动作.

unbind(type,fn),bind()的反响操作,从每一个匹配的元素中删除绑定的事件,示例:

$("p").unbind()把所有段落的所有事件取消绑定,$("p").unbind("click")将所有段落

click取消绑定,$("p").unbind("click",foo),取消所有段落单击事件的foo函数的

发生.

函数使用举例:

function handler(event){

      alert(event.data.foo);

}

$("p").bind("click",{foo:"bar"},handler);注意相对于在handler上写参

event.data.foo更简便一些,另外event.target也可以代替函数处理中的this,具体

event属性参照API

快捷事件Event Helpers

虽然我们可以使用事件处理函数完成对象事件的几乎所有操作,但是jQuery提供了对

常用事件的封装,比如单击事件对应的两个方法click()click(fn)分别用来触发单击

事件和设置单击事件,比如:

$("#test").click(function(event){...});等效于

$("#test").bind("click",function(event){.....});

$("#test").click();等效于$("#test").trigger("click");

对于交互帮助方法hover(over,out)toggle(fn1,fn2,fn3)此处不予过多讲解

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值