Reactコンポーネントの一部は次のようになります。
var headerElement = someBoolean ? <input/> : 'some string';
return <th onClick={this._onHeaderClick}>{headerElement}</th>;
th
要素のクリックハンドラー:
_onHeaderClick(event) {
event.preventDefault();
console.log(event.target);
},
th
要素をキャプチャしたい。 headerElement
が「何らかの文字列」の場合は正常に機能しますが、input
要素の場合、input
要素はevent.target
プロパティで参照される要素です。
これを達成する最良の方法は何ですか?
ハンドラをth
にバインドしているため、 currentTarget プロパティを使用できます。 target プロパティは、イベントをディスパッチした要素を参照します。
_onHeaderClick(event) {
event.preventDefault();
console.log(event.currentTarget);
}
それらを確認してください
_onHeaderClick(event) {
event.preventDefault();
if(event.target === event.currentTarget) {
// handle
}
}
このような?
event.target.parentNode
event.currentTarget を使用するだけです
onClick(e) {
e.preventDefault();
console.log(e.currentTarget);
}