[解決済み] ReactJSでクリックイベントを手動で発生させるには?
2022-06-22 15:05:47
質問
でクリックイベントを手動で発生させるにはどうしたらよいでしょうか。
ReactJS
?
ユーザーが要素1をクリックしたときに、自動的に
input
タグのクリックを自動的にトリガーしたいです。
<div className="div-margins logoContainer">
<div id="element1" className="content" onClick={this.uploadLogoIcon}>
<div className="logoBlank" />
</div>
<input accept="image/*" type="file" className="hide"/>
</div>
どのように解決するのですか?
あなたは
ref
への参照を取得するために
HTMLInputElement
オブジェクトへの参照を取得し、その参照をクラスのプロパティとして保存し、その参照を使って後でイベントハンドラから
HTMLElement.click
メソッドを使用してイベント ハンドラからクリックをトリガします。
あなたの
render
メソッドを使用します。
<input ref={input => this.inputElement = input} ... />
イベントハンドラで
this.inputElement.click();
完全な例です。
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
の注意
ES6 矢印機能
に対して正しいレキシカルスコープを提供する
this
をコールバックで取得します。また、この方法で取得したオブジェクトは
document.getElementById
を使用して取得するのと同様のオブジェクト、つまり実際の DOM-nodeであることに注意してください。
関連
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] React jsのonClickはメソッドに値を渡すことができない
-
[解決済み] スクロールバーが不要な場合はCSSで非表示にする
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] インラインonclick属性でイベント伝搬を停止するには?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] input type="text "でonchange as-you-typeを追跡する最良の方法?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bootstrap 3.3.7で改行する方法
-
[解決済み] bootstrapでボタンにリンクを貼るには?
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] チェックボックスとそのラベルをクロスブラウザーで一貫して揃える方法
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] CSS 背景の不透明度 [重複]について
-
[解決済み] 検索エンジンはAngularJSアプリケーションをどのように扱っているのか?
-
[解決済み] div内の画像の下に余分なスペースがある