¿Es mejor/más rápido dentro de un detector de eventos para utilizar this
o event.target
La ventaja de esta * * sobre event.target
He estado escribiendo código como este (ejemplo es jQuery):
jQuery('input').bind('keyup', function (e) {
var j = jQuery(e.target);
foo(j.attr('id') , j.val());
});
Y me dijeron que debía reemplazar e.target
con this
porque es "mejor". ¿Hay alguna ventaja para uno u otro?
Uso el objetivo porque es una solución más general ya que funciona para eventos delegados. Tengo problemas para la evaluación comparativa porque mis pruebas ponen desordenado con la unión (Aunque, obviamente, en este caso, la diferencia sería demasiado pequeño a la materia de todos modos)
Usando delegar, 'this' devuelve el elemento que coincide con el selector. 'target' devuelve el elemento del que salió el evento. – ColBeseder
'this' es más rápido en este caso: http://jsperf.com/this-and-event-target – Mageek
esto sería un poco más rápido ya que no tiene que resolver' property of object'. Pero eso es tan marginal que ni siquiera vale la pena discutirlo. Si lo está buscando por motivos de rendimiento, primero eche un vistazo a 'this.id' sobre' j.attr ('id') '. (Corto: ¡en realidad no importa!) – rodneyrehm