jQuery事件操作

事件

一、页面载入
js加载的时机
1、dom加载完毕(把script的代码放到最后),比如使用js使页面的背景颜色变为蓝色,这时候就不用等到把页面的所有资源都加载出来,而是dom加载完就执行

$(function(){
//这里的所有代码都是等到dom加载完毕才开始执行
)

2、页面所有资源加载完毕(window.onload里面),对于有图片的事件

$(window).load(function(){
//这里所有代码是等到页面资源全部加载完毕
)

二、事件处理
jQuery中对于直接绑定的一些事件,没有解绑事件的方法,所以在进行绑定的时候用另一种方法进行绑定,即
bind();绑定事件
unbind();解除绑定事件
三、委托事件
delegate()其中有4个参数

<div>
     <p></p>
</div>
S('div').delegate('p','click',function(){alert('呵呵');}

此时是给div注册一个委托事件,但是最终执行的是p
第一个参数:事件最终由谁来执行
第二个参数:事件的类型
第三个参数:函数,要做什么
实际上p元素一直都是没有事件,当你点击p的时候,把结果冒泡到div上,此时触发了div的委托事件,div发现p符合要求,就给了p一个事件。就算是动态增加的p,也是没有事件,一直都是按照上面的来实现。不管你是不是新增加,都是给div注册的事件,和p没有关系。
委托事件不是自己执行的,是给最终的子元素执行的,一定要给父元素注册委托事件
四、on事件
jq中用on统一了所有的注册事件,可以给元素注册简单事件,也可以注册委托事件。

使用on注册简单事件
$('p').on('click',function(){alert('呵呵')});
使用on注册委托事件,这里的委托事件原理和委托事件相同
$('p').on('click''p',function(){alert('呵呵')});

on()里面有四个参数,第三个参数是date,可以给date参数传一个值,可以在事件里面使用e.date属性来获取date。没有太大用。
五、事件的执行顺序
p自己有一个事件
使用p的父元素div给p注册了委托事件
div自己有一个事件
此时点击p,事件的执行顺序是,先执行p自己有的事件,然后执行div给p委托事件,最后执行div有的事件。
所以,如果自己本身有事件,还注册了委托事件,先执行自己的委托事件,再执行自己的事件。
六、移除事件

 $('p').on('click mouseover',function(){
        alert('呵呵');
    })

移除事件时,移除谁,就往off()里面传谁,如果不传,就是全部删除

$('p').off('click');

七、触发事件trigger()
原始写法:

$('p').on('click',function(){
        alert('呵呵');
    })
$('btn').on(function(){
//原始写法:$('p').click();
//现在写法:$('p').trigger('click');
})    

八、阻止事件冒泡和浏览器默认行为
阻止事件冒泡 e.stopPaopagation()。

阻止浏览器默认行为,使用事件对象调用preventDefault();他就不会冒泡给自己的上一级

$('p').on('click',function(e){
        alert('呵呵');
        e.preventDefault();
        或者不传事件对象,直接
        return false;
    })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值