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');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM