jQuery.on()和jQuery.off()--注意事项

总结:                                                                                                                                 

1、这两个都是是官方推荐的为元素绑定/移除事件的函数~虽然函数须由一个jQuery调用~但本意应该是为调用此函数的jQuery对象的子元素绑定/移除事件

子元素由函数中的selector选择器指定~只是当用户没用设置其selector参数时函数就为当前调用它的jQuery对象绑定/移除事件。

2、参数handler(即绑定的事件处理函数)中的this指向当前匹配元素的后代元素中触发该事件的DOM元素。如果参数selector等于null或被省略,则this指向当前匹配元素(也就是该元素)。

 

 

代码实例:                                                                                                                       

 

<div id="n1">
    <p id="n2"><span>CodePlayer</span></p>
    <p id="n3"><span>专注于编程开发技术分享</span></p>
    <em id="n4">http://www.365mini.com</em>
</div>
<p id="n5">Google</p>

 

 

// 为div中的所有p元素绑定click事件处理程序
    // 只有n2、n3可以触发该事件
    //$("div").on("click", "p", myFun);


    //为div中的id为n2的元素绑定click事件处理函数
    $("div").on("click", "#n2", myFun);

    function myFun(){
        // 这里的this指向触发点击事件的p元素(Element)
        alert( $(this).text() );
        //因为上面的selector是"#n2"~所以移除时也只能写"#n2"
        $("div").off("click","#n2",myFun);
        //这里虽然".myN2"也一样唯一选中"#n2"这个p元素~但是因为上面绑定时使用的选择器是"#n2"~所以下面那句无法移除绑定的click事件
        //$("div").off("click",".myN2",myFun);
    }

 

其他:                                                                                                                                 

为元素同时绑定多个事件处理函数

$("div").on({
        mouseover:m1,
        mouseout:m2,
        click:m3
    },"p");
    function m1() {$("body").css("background-color","lightgray");}
    function m2() {$("body").css("background-color","lightblue");}
    function m3 (){$("body").css("background-color","yellow");}

 

 

 

转载于:https://www.cnblogs.com/Liujunyan/p/4936553.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值