問題タブ [touchstart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - iOS デバイスでクリックをタッチスタートに置き換える方法
目的
クリック時にアンカー タグの親 div を閉じる。以下のコードでは、ユーザーがアンカー タグclose_performance_ttをクリックしたときにdiv performance_ttを非表示にします。
問題
数時間費やした後、iOS デバイスで動作させることができません。BlackBerry 10 デバイスであっても、他のすべてで問題なく動作します。
jquery - タッチスワイプでスワイプするときのタッチスタートを防止
ユーザーがサムネイルをスワイプしたときにタッチスタートが発生しないようにしたいのですが、スワイプした瞬間にタッチスタートもアクティブになります。これを防ぐ方法はありますか?これが私のコードです:
javascript - どのJavascriptイベントが発生したかを知る方法
最近発生したイベントが何であったかをJavascriptで知る方法はありますか? 私が尋ねている理由は、Windows 8 を実行していて、タッチ スクリーン付きのラップトップである新しい Ultrabook の 1 つで適切に動作しないサイトで作業しているためです。標準のマウス機能 (タッチパッドまたは実際のマウス) を使用する場合は正常に動作しますが、タッチ スクリーンを使用する場合は動作しません。
これは IE でのみ発生します。Chrome には独自の問題があり (コードで修正済み)、Firefox では問題は発生していません。
基本的には「hoverIntent」ブロックが入っている機能ですが、IEでタッチスクリーンを使うと「over」と「out」の両方の機能が登録されてしまうのが難点です。
ただし、最後に発生したことが、ユーザーが画面に触れたのか、マウスでクリックしたのかを判断する方法があれば、解決策があります。しかし、それを行う方法があるかどうかはわかりませんでした。
私が見つけた唯一のことは、要素に「.data('events')」を追加することでしたが、実際のマウス クリックか画面上のタップかに関係なく、返されるのは「クリック」です。
これを行う方法はありますか?
jquery - jQuery シングル ページ サイトのドロップ メニュー リンクが iOS iPad/iPhone で失敗する
jquery (jquery mobile ではない) を実行している 1 ページのスクロール サイトがあります。ドロップ メニュー (順序なしリスト) の表示をトリガーするアンカー リンクがあります。ドロップ メニュー内のリスト項目をクリックすると、関連するスライドがアニメーション表示され、ドロップ メニューが非表示になります。
iOS ブラウザ以外のすべてでうまく機能します。私の問題は、リンクが最初にクリックされたときにしか機能しないことです。
私は、iOS でのマウス クリックとホバー イベントの区別についてよく読みました。解決策はどれもうまくいきません。
私はすべてを試しました:
- #btn_menu 要素をアンカーと div にする
- リンク、li タグ、ラップされた div タグに cursor:pointer スタイルを追加する
- すべてのリスト メニュー項目でアンカー タグをラップする
- タッチ イベントのトリガーに加えて、最初のクリック後に touchend、メニュー クリック イベントなどを起動しようとする
- Hammer.js などのタッチ ライブラリ
シンプルなコード。
HTML メニュー:
**私が知っていることは起こっている**
最初の #btn_menu とそれに続く .nav_menu のクリックのみが完全に機能します。しかし、画面を少しタッチ/移動すると、次の #btn_menu クリックが機能します。#btn_menu のイベント リスナーがクリアされたように見えますか?
ホバー イベントは、最初のクリック後も機能し続けているようで、その後のすべてのクリックに干渉しています。「メニュー」という単語をクリックすると下線が引かれるので、これを知っています - #btn_menu のホバーをリッスンしているイベントをクリアできないようです
私の知恵の終わりに。この種のドロップ メニューの単一ページ サイトで、iOS でクリック イベントを動作させる方法について提案がある人はいますか?
コード内で slicknav.js などのソリューションをテストしましたが、これらも同じ問題を示しています。
jquery - モバイルでページをスクロールするときにタッチスタートを防止する
ユーザーがモバイル デバイスのページを下にスクロールしたときに touchstart イベントを無効にしたいと考えています。ページにはさまざまな要素があり、クリックするとクラスが切り替わりますが、ユーザーが下にスワイプしてページを下にスクロールすると、タッチスタートイベントが無効になります。
Jクエリ
誰でも方法を知っていますか?ありがとう!
javascript - スクロールを妨げずに touchstart の preventDefault
これと同様の質問がありますが、解決策には別のライブラリを使用するか、代わりにクリックイベントを使用するかのいずれかです - ライブラリなしで達成できるかどうか疑問に思いました.
画像で touchstart イベントを使用して 1.5 秒のタップを検出すると、その画像がリロードされます。ただし、ほとんどのモバイル デバイスでは、画像を一定時間長押しすると、画像を保存/コピーするかどうかを確認するポップアップが表示されますが、これは防止したいと考えています。
preventDefault()
トリックを行いますが、画像のスクロールも無視します(予想どおり)。
画像のスクロールも許可する最良の方法は何でしょうか?
コード例:
iOS には正常に動作する CSS プロパティ ( -webkit-touch-callout:none
) がありますが、iOS 以外のデバイスでは動作しません。
どんな助けでも大歓迎です。