¿Qué diferencias hay entre hacer trigger(“click”) y click()?

publicado por: Anonymous

En una aplicación web, me he encontrado el siguiente código (simplificado):

$("#miInput").trigger("click");
$("#miInput").click();

¿Existe alguna diferencia entre esas dos líneas? ¿Es mejor usar una sobre la otra? (y por qué)

solución

Según el código de jQuery, .click() forma parte de los alias de eventos, los cuales llaman a .on() o .trigger() según si hay argumentos o no, respectivamente:

jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
    "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
    "change select submit keydown keypress keyup contextmenu" ).split( " " ),
    function( i, name ) {

    // Handle event binding
    jQuery.fn[ name ] = function( data, fn ) {
        return arguments.length > 0 ?
            this.on( name, null, data, fn ) :
            this.trigger( name );
    };
} );

Dicho esto, la única diferencia (mínima) sería el pasar por una función menos usando .trigger("click").

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *