Diferencia 1: puede llamar a todos los elementos que coincidan con el objeto JQuery utilizando el activador.
// Ejemplo1 para el desencadenador. Los tres eventos de clic de botón se activan cuando se utiliza el desencadenador. // Pruebe a reemplazar el método de activación con triggerHandler(). Verá que solo se disparará el primer elemento de botón controlador de eventos.
<button id = "button1">button1</button>
<button id = "button2">button2</button>
<button id = "button3">button3</button>
$("#button1").on("click", function(){
alert("button1 clicked");
});
$("#button2").on("click", function(){
alert("button2 clicked");
});
$("#button3").on("click", function(){
alert("button3 clicked");
});
// gatillo sustituto con triggerHandler para ver la diferencia
$("#button1, #button2, #button3").trigger("click");
Diferencia 2: cuando se utiliza triggerHandler() para un evento elemento, el evento nativo no será llamado para ese elemento. trigger() funcionará bien.
// Ejemplo:
gatillo
// sustituto con triggerHandler para ver la diferencia
<button id = "button1">button1</button>
<button id = "button2">button2</button>
$("#button1").on("click", function(){
$("#button2").trigger('click');
});
$("#button3").on("click", function(){
var value = $("#button2").triggerHandler('click');
alert('my value:'+ value)
});
$("#button2").on('click', function(){
alert("button2 clicked");
});
diferencia 3: gatillo() Devuelve objeto Jquery mientras que triggerHandler() Devuelve el último valor mango o Si no se activan los manipuladores, devuelve indefinido
// Ejemplo 3
<button id="button1">Button1</button>
<button id="button2">Button2</button>
<button id="button3">Button3</button>
$("#button1").on("click", function(){
var myValue = $("#button2").trigger('click');
alert(myValue);
});
$("#button3").on("click", function(){
var value = $("#button2").triggerHandler('click');
alert('my value:'+ value)
});
$("#button2").on('click', function(){
alert("button2 clicked");
return true;
});
Otra diferencia es
Los eventos activados con triggerHandler() no generan la jerarquía DOM; si no son manejados por el elemento objetivo directamente, no hacen nada.
Los documentos son la razón por la que hice la pregunta en primer lugar. Entiendo el comportamiento, pero tengo curiosidad si esta es una función de conveniencia o hay una razón más profunda por la que existe. –
Vota seriamente porque no entiende los ejemplos dados en los documentos. De acuerdo, déjame deletártelo para ti entonces. – Robert
No tiene que votar, no puede votar en absoluto ... Le di más ejemplos y todavía no comprende, que no es mi culpa. En algunos casos, no desea devolver falso en un clic real, por lo que el n. ° 1 es válido. # 2 Sí ... ese es el punto, ocultando solo uno, pero llamando a toda la matriz correspondiente. De modo que puede establecer el Intervalo de esa función para incrementar el ocultamiento # 3 Ver # 1, con la idea de que desee diferentes acciones basadas en el clic real vs simulado. # 4 Si desea el valor devuelto por el último evento real sin crear uno nuevo. – Robert