2011-01-17 11 views
17

Tengo el siguiente div con diferentes funciones para onblur, onmousedown, onmouseup y onfocus .. Quiero minimizar el código y tener solo una llamada de función dentro de div para toda la función estados. Quiero hacer esto con jquery Entonces, en otras palabras. Quiero crear una función llamada functionAll y poner toda function1 en la función 4 con su estado de mouse dentro, luego solo uso functionAll dentro de Div. ¿Cómo puedo hacer algo como esto?Enlazando un único controlador de eventos a múltiples eventos con jQuery

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

¿Por qué quieres hacer eso? –

Respuesta

47

Usted debe poner un id de la div, decir "test", entonces:

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

El HTML se verá así:

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

lo tengo. Gracias. – Hussein

+1

@ Box9 De alguna manera me perdí eso en los documentos, eso era exactamente lo que estaba buscando. ¡Gracias! –

Cuestiones relacionadas