私は、音楽制作に使用するための簡単なWebツールを開発中です。ユーザは、マウスで領域を繰り返しクリックするか、指でタッチする(タッチスクリーン上で)、ツールはクリックの平均テンポ(例えば、160bpm)を計算する。私の場合、領域はoutput
HTML要素ですが、それ以外の要素もあります。複数のクリック/タップのデフォルト処理を防止するにはどうすればよいですか?
クリックまたはタップが頻繁に発生する可能性があるため、デバイスは通常のクリックではなく、ダブルクリックまたはダブルタップと認識します。最初のケースでは、ダブルクリックのデフォルト結果であるため、領域の内容が選択されます。 2番目のケースでは、クリックを捕らえる代わりにウェブページが拡大されます(iOSなど)。
デスクトップとタッチスクリーンの両方で望ましくない動作を防ぐにはどうすればよいですか?いくつかの重要な要件は:
私はjQueryのか、他のフレームワークなしに、JavaScriptの純粋でネイティブブラウザAPIと解決策を探してください。
上記の要素のの余分なクリックを防止するソリューションは、です。ユーザーがこの要素の外側にあるウェブページ上の他の場所で複数のクリック(または複数のタップ)を実行する場合、これは通常どおり処理する必要があります。ダブルクリックで選択を防ぐため
これを達成しようとしましたか?いずれにせよ、シングルクリックからダブルクリックイベントを区別することができます:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ondblclick(サポートにも注意してください) – briosheje
@ briosheje、 'dblclick'イベントに対して' preventDefault'を試しました。それはうまくいかなかった。 –
https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html –