2013-03-08 120 views
16

使用.on()委託多個事件的最佳方式是什麼?jQuery .on()委託mouseenter和mouseleave

這是一個委託事件的語法:

$(document).on('mouseeenter','.foo', function(){}); 

這裏是多個事件的語法(未授權):

$('.foo').on({ 
    mouseenter: function(){ 
     //stuff 
    }, 
    mouseleave: function(){ 
     //stuff 
    } 
}); 

,如果有一個更簡潔的方式我想知道這樣做其他:

$(document).on('mouseenter', '.foo', function(){}) 
      .on('mouseleave', '.foo', function(){}); 

這是沒有什麼大不了的,如果我必須這樣做,我更好奇關於它比什麼都好。

+0

@FrédéricHamidi是的,看起來。對於那個很抱歉。 – 2013-03-08 14:20:08

+2

沒問題。根據另一個問題的評論,首先尋找這個主題並不容易。 – 2013-03-08 14:22:22

回答

34
$(document).on({ 
    mouseenter: function(){ 
     //stuff 
    }, 
    mouseleave: function(){ 
     //stuff 
    } 
}, '.foo'); 
+1

這比live()更適合新版本:) – 2015-02-21 22:11:48