1 質問:
モバイル デバイスで画面をすばやくスクロールし、クリックしてスクロールを停止する場合、誤って a タグに触れてクリックしたときに他のページに飛んでしまうのを避けるにはどうすればよいですか?
###2 これもモバイル端末のフロントエンド開発で実際に遭遇する問題ですが、具体的に言うと、通常の状況で現在のページにコンテンツが多く、高さが高く、スクロールバーが表示される場合、手で画面をスワイプすると、画面上のページ コンテンツが速くスクロールしますが、手が画面から離れてもスクロールは止まりません。このとき、スクロールを止めたいときも画面を軽くタップして画面を止めます。しかしこの時問題があり、画面上のクリックした位置にたまたまラベルやボタンがあった場合、この時次のルートに入りやすくなります。 mdnでスクロールイベントに関する説明をいくつか確認しましたが、スクロール処理の速度や停止の反応時間については説明がありません。
私のアイデアは、まずスクロール イベントが停止したかどうかを判断し、停止したら、後続のクリックが有効になるまでに一定の遅延を与えることです。この場合、高速スクロール後、1回目の画面クリックでスクロールを停止し、2回目の画面クリックでラベルをクリックすると他のルートにジャンプします。これはどのように達成されるべきでしょうか?
あなたの製品要件はそれほど厳しいものですか? このような物理的なロジックに従う必要があると思いますが、このロジックを回避する製品は見たことがありません。それを解決する必要がある場合、あなたのアイデアは実現可能です。その場合、クリック動作を伴うすべてのリンクまたは要素をプロキシする必要があります。個人的には、それは価値のないアプローチだと思います。
たとえば、スクロールする場合は状態値を isScrolling = true に設定し、スクロールが完了するかクリックして停止する場合は、isScrolling = false を設定します。
私も同じ問題に対処しました
クリック イベントを区別し、クリック イベントをタッチに置き換えます
クリックの長さと距離を計算して、クリックイベントがトリガーされるかどうかを決定します
まだ明確でない場合は、後ほどデモをさせていただきます
リーリー