2011-01-17 9 views
17

Ich habe das folgende div mit verschiedenen Funktionen für onblur, onmousedown, onmouseup und onfocus .. Ich möchte den Code minimieren und habe nur einen Funktionsaufruf innerhalb div für alle Funktionen Zustände. Ich möchte das mit jQuery machen, also mit anderen Worten. Ich möchte eine Funktion namens functionAll erstellen und alle Funktionen von function1 mit der Funktion maus state in die Funktion 4 setzen, dann benutze functionAll innerhalb der Div. Wie kann ich so etwas tun?Binden eines einzelnen Ereignishandlers an mehrere Ereignisse mit jQuery

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

Warum wollen Sie das tun? –

Antwort

47

Sie sollten eine ID auf dem div setzen, sagen Sie "test", dann:

$('#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... 
}); 

Die HTML wird wie folgt aussehen:

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

haben es geschafft. Vielen Dank. – Hussein

+1

@ Box9 Irgendwie habe ich das in der Dokumentation verpasst, genau das habe ich gesucht. Vielen Dank! –

Verwandte Themen