這樣一個需求,如果用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');
http://www.qingdou.me/1536.html