zoukankan      html  css  js  c++  java
  • jquery on()方法绑定多个选择器,多个事件

    on(events,[selector],[data],fn)

    •events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。
    •selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择器为null或省略,当它到达选定的元素,事件总是触发。
    •data:当一个事件被触发时要传递event.data给事件处理函数。 
    •fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。


    这样一个需求,如果用live()方法实现的话 非常简单,容易理解。

    $('nav li, #sb-nav li, #help li').live('click', function () { 
        // code... 
    });

    jquery在1.7版本后,建议大家用on方法代替之前的bind、live、delegate方法。
    那上面一句如果用on的话,怎么写呢?

    其实查看live源码就知道,live实际是委托doucment进行事件委派的。

    按照这个思路,可以将on方法绑定到document即可。

    $(document).on('click', '#header .fixed-feedback-bn, #sb-sec .feedback-bn', function () { 
         // code... 
     });

    还有一种情况,on()方法绑定多个事件,可以这样写:

     
    $("table.planning_grid").on({ 
        mouseenter: function() { 
            // Handle mouseenter... 
        }, 
        mouseleave: function() { 
            // Handle mouseleave... 
        }, 
        click: function() { 
            // Handle click... 
        } 
    }, "td");
     

    最后,用on()方法绑定多个选择器,多个事件则可以这样写:

     
    $(document).on({ 
        mouseenter: function() { 
            // Handle mouseenter... 
        }, 
        mouseleave: function() { 
            // Handle mouseleave... 
        }, 
        click: function() { 
            // Handle click... 
        } 
    }, '#header .fixed-feedback-bn, #sb-sec .feedback-bn');
     
  • 相关阅读:
    2019icpc上海站 打星体验,首次感想 D K代码
    P1983 车站分级 思维+拓扑排序
    POJ 2352 Stars Treap & 线段树
    POJ 2761 Feed the dogs 基础Treap
    POJ 1442 Black Box 基础Treap
    CodeForces R285 Div2
    HDU 5145 NPY and girls 莫队算法
    2014 上海赛区小结
    2014 牡丹江赛区总结
    HDU 5125 Magic Ball DP+树状数组
  • 原文地址:https://www.cnblogs.com/tiger95/p/6897512.html
Copyright © 2011-2022 走看看