1
リアクションアプリにdivがあり、クリックとタッチの両方を処理する必要があります。しかし、モバイルでタップすると、両方のイベントが発生します。リアクションonClickとonTouchStartが同時に起動しました
モバイルでスワイプしたり、通常のブラウザをクリックしてもうまくいけば、それぞれの場合に1つのイベントだけが起動されます。
両方のイベントを発生させないようにこのタップの問題を処理するにはどうすればよいですか?
<div
className={myClasses}
onClick={this.myHandle}
onTouchStart={this.myHandle}
>
</div>
なぜTouchStartとクリックの両方が必要なのですか?クリックはモバイルとデスクトップの両方で呼び出されます。 ライフサイクルは通常:touchstart(マウス) - > touchend(mouseup) - >をクリックします。 あなたがtouchstartのために明示的に何かする必要がなければ、私はそれを落とすだけです。 – PiniH
私はあなたの意見を持っています。私は前のうちの1つしか持っていませんでしたが、ユーザーがスワイプすると、クリックは発生せず、タッチイベントのみが発生します。これは、ユーザーがスライドするために「次のカード」をクリックまたはスワイプすることができるカルーセルのようなものです。 – Yuri
これらのコントロールを使った私の経験から、これらは同時に発火しないと私に伝えられますか?状況を正しく分析していると確信していますか? ここでevent.preventDefault()は役に立ちますか? – Shammoo