javascript - producen - que hormona libera el miedo
Reaccionar: cómo capturar solo el evento onClick de los padres y no los niños (4)
¿Me gusta esto?
event.target.parentNode
Tengo parte de un componente de reacción como este:
var headerElement = someBoolean ? <input/> : ''some string'';
return <th onClick={this._onHeaderClick}>{headerElement}</th>;
Y un controlador de clic para el elemento th:
_onHeaderClick(event) {
event.preventDefault();
console.log(event.target);
},
Quiero capturar el elemento. Funciona bien cuando headerElement es ''alguna cadena'', pero cuando es un elemento de entrada, el elemento de entrada es el que se hace referencia en el campo event.target. ¿Cuál es la mejor manera de lograr esto?
Revisalos
_onHeaderClick(event) {
event.preventDefault();
if(event.target === event.currentTarget) {
// handle
}
}
Ya que está vinculando el controlador a th
puede usar la propiedad currentTarget . La propiedad de target refiere al elemento que distribuyó el evento.
_onHeaderClick(event) {
event.preventDefault();
console.log(event.currentTarget);
}
simplemente use currentTarget
onClick(e) {
e.preventDefault();
console.log(e.currentTarget);
}