問題タブ [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.

0 投票する
1 に答える
1880 参照

javascript - touchstart ハンドラーが、iframe にラップされている場合にテキスト入力のフォーカスを台無しにする

私は、iframe を使用して既にモバイル フレンドリーな Web アプリを埋め込む phonegap アプリに取り組んでいます。webapp には、仮想キーボードを表示するテキスト フィールドにフォーカスする検索機能があります。これまでのところ、すべてが順調です...

ただし、ドキュメント (iframe 内のもの) に touchstart リスナーを登録するライブラリを使用しています。そのため、仮想キーボードが表示されている間にユーザーがドキュメントに触れると、キーボードは機能しなくなります。

ipad (または XCode の ipad シミュレーター... 7.0.3 でテスト済み) から、ここに移動して指示に従ってください: https://s3.amazonaws.com/ypassets-andy/app-frame.html

興味深いのは、iframe でラップしないとキーボードが壊れないことです。https://s3.amazonaws.com/ypassets-andy/app.htmlにアクセスし、指示に従って壊れないようにしてください。

私はこれについて頭を悩ませてきましたが、これを機能させる方法がわかりません。参考までに、これらのスタック交換の投稿は関連しているように見えますが、問題を解決できませんでした:

アイデアをありがとう!

アンディ

0 投票する
1 に答える
301 参照

jquery - Jqueryタッチスタートは機能しますが、左にスワイプできません

上記は、jquery の include ステートメントです。touchstart と swipeleft には同じイベント リスナーがあります。どういうわけか touchstart は機能しますが、swipeleft の単純な alert() は失敗します。何らかの理由 ?

0 投票する
1 に答える
3943 参照

javascript - モバイル Safari で、タッチ イベント「touchstart」が正しくない位置を返します。回避策?

私は HTML5 Canvas プロジェクトを開発しています。モバイル デバイスのマルチタッチ サポートを追加しているときに、iOS 7.1 の Mobile Safari で問題が発生したようです。

ユーザーが私のアプリを操作する主な方法は、クリックしてドラッグすることです。デスクトップでは、適切なマウス イベント リスナーをキャンバスに追加します...

... これらのイベント ハンドラーにマウスの位置を計算させ、イベントの X と Y の位置だけを受け取る、より一般的な関数を呼び出します...

...そして、すべてがうまく機能します。このレベルの抽象化を設計して、他の入力方法に簡単に拡張できるようにしました。そこで、Touch API を使用してこれを拡張しようとしました。最初に、ハンドラーをキャンバスのマウス ハンドラーのすぐ隣に追加します...

...次に、薄いイベント ハンドラーを追加して、タッチ イベントを抽象化します ...

...そして、ここで問題が発生します。物事が少し毛むくじゃらになっていることがわかりますが、非効率性はさておき、私はすべてを正しく使用していると思います。問題は、getTouchPos(evt)上のタッチの正しい X、Y 位置を取得できないように見えることtouchstartです。最初のタッチで、0,0 の位置を取得します。指をドラッグするtouchmoveと、複数回発火し、報告された X、Y 座標は問題ないようです。指をtouchend離すと発火し、正しい位置も取得します。ただし、もう一度タッチするとtouchstart発火し、タッチしている場所ではなく、最後のタッチが終了した場所の X、Y 座標を取得します。

デバッガーを使ってみたところ、確かに古い/初期化されていない値が、イベント データで取得した Touch オブジェクトに含まれています。私は明らかに間違ったことをしていますか?touchstartイベントから悪い座標を取得しているように見える理由がわかりません。この問題を回避するにはどうすればよいですか? 正しい位置を取得するために使用できる別のソースはありますか? イベントの順序を微調整?

ブラウザ内デバッグを実行したい場合は、完全なコードのオンライン デモへのリンクを次に示します。

そして、助けてくれてありがとう。

0 投票する
0 に答える
518 参照

javascript - jQueryはタッチスタートで機能を有効にしますが、タッチムーブイベントでは機能しません

タッチまたはクリックでのみ開き、メニューの外側をクリックまたはタッチすると閉じるレスポンシブドロップダウンメニューがあります。モバイル ユーザーが単にページをさらに下にスワイプしたい場合に問題が発生し、タップしてスクロールするとすぐにメニューが閉じます。スクロール時(touchmove)ではなく、メニューの外に触れたときだけ閉じてほしい。

これは私が現在持っているjsで、画面をスライドさせようとしても、あらゆる種類のタッチイベントでメニューを閉じます。誰かがタッチでスクロールしようとした場合に、この機能を実行したくありません。

0 投票する
1 に答える
9440 参照

javascript - キャッチされていない TypeError: 未定義のプロパティ 'pageX' を読み取れません

私はtoucheventsjsでいじっています。Eclipse の logcat でこのエラーが発生しました。

のコメントを削除するiftouchmove、座標がポップアップします。ただし、コメントされている場合、logcat にエラーが表示されます。

0 投票する
1 に答える
171 参照

javascript - iPhoneのjavascriptクリック機能

次のスクリプトがあります

トップレベルをクリックすると、サブレベルのメニューが表示されます。html 構造の例は次のとおりです。

これはデスクトップではうまく機能しますが、iPhone/iPad などでは機能しません。オンラインで検索した後、これはこれらのデバイスが最初のプレスをホバーとして扱うためであることがわかりました.

ただし、一般的な提案をいくつか試してみましたが、うまくいきませんでした。私はもう試した;

css に cursor:pointer を追加し、クリック後に touchstart を試します。

誰かが試してみることを提案できるものは他にありますか?

編集: 近づいていると思います。スクリプトを少し変更しました (上で編集)。iPhone がページを開く方法を尋ねるメッセージがポップアップするまでメニュー項目を押し続けると、サブメニューが表示されます。それが表示されたら、トップメニューをクリックするとシームレスに機能します。

最初のクリックが正しく機能しない理由について誰か考えがありますか?

0 投票する
3 に答える
2265 参照

javascript - マウスダウン/タッチスタートでビューポートではなく親に相対的な位置を取得

マウスが配置されたコンテナーまたは要素に対して、またはその中でマウスの位置を取得するにはmousedownどうすればよいですか。touchstart

したがって、イベントまたはタッチで元のイベントからpageX/Yorを取得できることを知っています。clientX/Yしかし、それはビューポート全体と比較した位置付けです。この div は絶対配置されているため、コンテナーの境界内に配置するにはどうすればよいですか (絶対配置)。

したがって、これは機能します: http://jsfiddle.net/Fb6An/

コードは次のとおりです。

私が取り組んでいるフルサイトの一部の要素では機能しないことを除いて. 画面の右端に近い要素では、実際のマウスの位置よりも右側と下に表示されます。左側の要素では、正常に動作します。

それで、要素内の位置を取得し、そこに .ripple をスタイルするにはどうすればよいのでしょうか?