Dan*_*ori 35 javascript dom reactjs
我有一个像这样的反应组件的一部分:
var headerElement = someBoolean ? <input/> : 'some string';
return <th onClick={this._onHeaderClick}>{headerElement}</th>;
Run Code Online (Sandbox Code Playgroud)
以及第th个元素的单击处理程序:
_onHeaderClick(event) {
event.preventDefault();
console.log(event.target);
},
Run Code Online (Sandbox Code Playgroud)
我想捕获de th元素.当headerElement是'some string'时它工作正常,但是当它是一个输入元素时,input元素是event.target字段中引用的元素.实现这一目标的最佳方法是什么?
Aru*_*hny 68
由于您将处理程序绑定到th
您可以使用currentTarget属性.将目标物业是指调度事件的元素.
_onHeaderClick(event) {
event.preventDefault();
console.log(event.currentTarget);
}
Run Code Online (Sandbox Code Playgroud)
ngh*_*pit 22
检查一下
_onHeaderClick(event) {
event.preventDefault();
if(event.target === event.currentTarget) {
// handle
}
}
Run Code Online (Sandbox Code Playgroud)