2013-03-08 17 views
16

Jaki jest najlepszy sposób delegowania wielu zdarzeń za pomocą .on()?jQuery .on() delegowane centrum myszy i myszy

To składnia dla jednego zdarzenia delegowanego:

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

A oto składnia dla wielu zdarzeń (nie delegowane):

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

Zastanawiałem się, czy nie było bardziej zwięzły sposób zrób to wtedy:

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

To nie jest wielka sprawa, jeśli muszę to robić w ten sposób, jestem bardziej ciekawy o tym niż o niczym.

+0

@ FrédéricHamidi Tak, wygląda na to. Przepraszam za to. –

+2

Bez problemu. Zgodnie z uwagami w drugim pytaniu, nie jest łatwo wyszukać ten temat w pierwszej kolejności. –

Odpowiedz

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

To jest lepsze niż live(), które jest przestarzałe w nowych wersjach :) –

Powiązane problemy