Javascript: ¿la flecha funciona en el controlador de eventos?
Soy nuevo en ES6 y no puedo hacer que esto funcione:
$(this)
devuelve indefinido al hacer clic?
dom.videoLinks.click((e) => {
e.preventDefault();
console.log($(this));
var self = $(this),
url = self.attr(configuration.attribute);
eventHandlers.showVideo(url);
// Deactivate any active video thumbs
dom.videoLinks.filter('.video-selected').removeClass('video-selected');
// Activate selected video thumb
self.addClass('video-selected');
});
Sin embargo, si lo cambio así que no sea unfunción de flecha así, ¿funciona como se esperaba ?:
dom.videoLinks.click(function(e) {
e.preventDefault();
console.log(this);
console.log($(this));
var self = e.this,
url = self.attr(configuration.attribute);
eventHandlers.showVideo(url);
// Deactivate any active video thumbs
dom.videoLinks.filter('.video-selected').removeClass('video-selected');
// Activate selected video thumb
self.addClass('video-selected');
});
Entonces, ¿cómo lo haría si uso unfunción de flecha en la devolución de llamada?