J'essaie d'utiliser e.target.name pour réagir afin de définir l'état comme auparavant ce sera la bienvenue. merci!
<li
onMouseEnter = {this.handleMouseEnter.bind(this)}
name ='HOME'
id="some id"
style={main.element}>HOME</li>
mon gestionnaire d'événements n'a qu'un débogueur pour que je puisse jouer avec
handleMouseEnter(e){
debugger
}
et quand j'essaie d'obtenir la valeur de la propriété de nom je reçois indéfini
e.target
//<li name="HOME" id="some id" style="padding: 10px;">HOME</li>
e.target.name
//undefined
e.target.id
//"some id"
name
. input
, select
, etc.).document.querySelector('li').addEventListener('click', function(e) {
console.log('Directly: ' + e.target.name);// prints null
console.log('Using getAttribute: ' + e.target.getAttribute('name')); // prints ele
});
document.querySelector('input').addEventListener('click', function(e) {
console.log('Directly: ' + e.target.name);
console.log('Using getAttribute: ' + e.target.getAttribute('name')); // prints ele
});
<input name="ele" placeholder="Click me!">
<li name="ele">Click me!</li>
name
est un attribut et nécessite que la fonction getAttribute(...)
soit récupérée. Comme @Ele l’a fait remarquer, la solution proposée serait
var name = e.target.getAttribute('name'); //'HOME'