您的位置:首页 > Web前端 > JQuery

jQuery事件--jQuery基础知识点(2)

2014-11-24 22:58 387 查看

事件在触发后分为两个阶段,一个是捕获(Capture),另一个则是冒泡(Bubbling)但遗憾的是,大多数浏览器并不支持捕获阶段,jQuery也不支持。

1.所谓的冒泡其实实质就是事件执行中的顺序。防止冒泡的发生:除了使用stopPropagation()方法阻止事件的冒泡过程外,还可以通过语句return false实现停止事件的冒泡过程。

2. 在jQuery脚本加载到页面时,会设置一个isReady的标记,用于监听页面加载的进度。遇到执行ready()方法时,通过查看isReady值是否被设置,如果未被设置,那么就说明页面并未加载完成,在此情况下,将未完成的部分用一个数组缓存起来,待ready()方法加载完成后,再将未完成的部分通过缓存一一执行。PS:ready()其在页面框架下载完毕后就执行

3. 使用映射方式绑定不同的事件:

$(function(){

$("..").bind({

focus:function(){},

change:function(){}

})

})

4. $(".txt").bind("focus",{msg:message},function(event){

console.log(event.data.msg);

});

5. 切换事件:

$("a").hover(function(){...},function(){...})

可以使元素在鼠标悬停与鼠标移除的事件中进行切换,可使用jQuery中的mouseenter与mouseleave进行替换。

$("a").toggle(fn1,fn2,[fn3,fn4,...])

通过函数设置的前后顺序进行调用。

6. unbind()方法移除元素绑定事件

$("a").unbind(); //移除a标签上全部事件

$("a").unbind("click",functionName); //移除a标签的单击事件

7. trigger(type,[data])在所选择的元素上触发指定类型的事件,自动执行!

trigger()方法可以实现触发性事件,即不必用户做任何动作,自动执行该方法中的事件。

如果不希望页面自动执行,可使用triggerHandler()方法,该方法与trigger()方法基本相同,只是不会自动执行包含的事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: