0
点赞
收藏
分享

微信扫一扫

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


事件在触发后分为两个阶段,一个是捕获(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()方法基本相同,只是不会自动执行包含的事件。

举报

相关推荐

0 条评论