2011-01-17 14 views
17

Mam następujący dział z różnymi funkcjami onblur, onmousedown, onmouseup i onfocus. Chcę zminimalizować kod i mieć tylko jedną wywołanie funkcji w div dla wszystkich funkcji stany. Chcę to zrobić z jquery Innymi słowy. Chcę utworzyć funkcję o nazwie functionAll i umieścić wszystkie funkcje1 do funkcji 4 z jej stanem myszy wewnątrz, a następnie po prostu użyć functionAll wewnątrz Div. Jak mogę zrobić coś takiego?Powiązanie pojedynczej procedury obsługi zdarzeń z wieloma zdarzeniami za pomocą jQuery

<div contentEditable="true" 
    onblur="function1();" 
    onmousedown="return function2(event);" 
    onmouseup="function3();" 
    onfocus="function4();"> 
    test test 
</div> 
+1

Dlaczego chcesz to zrobić? –

Odpowiedz

47

Należy umieścić identyfikator na div, powiedzieć "test", a następnie:

$('#test').bind('blur mousedown mouseup focus', function (e) { 
    // This is your combined function 
    // Inside here you can use e.type to find out whether it was a 
    // "blur", "mousedown", "mouseup", etc... 
}); 

HTML będzie wyglądać następująco:

<div id="test" contentEditable="true"> 
    test test 
</div> 
+0

rozumiem. Dzięki. – Hussein

+1

@ Box9 Jakoś tęskniłem za tym w dokumentach, to było dokładnie to, czego szukałem. Dzięki! –

Powiązane problemy