問題タブ [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.
android - ArrayListでビットマップを作成および削除(リサイクル)すると、ヒープサイズが継続的に増加しました
ビットマップを配列リストまたは配列に格納するアプリケーションを作成しています。android:largeHeap="true"
マニフェストで、アプリケーションのメモリサイズを増やすように設定しました。20個のビットマップを作成しています。その後、新しいビットマップが作成された場合、最初のビットマップがリサイクル(削除)され、新しいビットマップが配列リストに追加されます。ビットマップを追加するたびにメモリが解放されますが、次の15〜20(合計35以上)以降、ビットマップヒープサイズは約20〜25MB増加しました。このプロセスは続行され、メモリ不足の例外が発生します。スペースは解放されていません。私は以下のそれぞれを個別にそしてすべて一緒に順番に試しました:
- ビットマップをリサイクルする
- nullを割り当てる
- 配列リストから削除
問題はまだあります。
jquery - jQueryイベントのクリックとタッチスタート
イベントクリックとタッチスタートの違いを知りたいですか?私が現在知っていることは、タッチスタートはタッチスクリーンにより適しているということですが、クリックはタッチアクションとマウスクリックの両方で機能します。これらの 2 つを確認するのはちょっと混乱していますが、これらのいずれかがどのような状況でも遅延を引き起こしますか?
mobile - タッチ デバイスのアクティブ状態の遅延
次のコードを使用して、touchevents の「:active」状態を許可しています。
それは完璧に機能しますが、スクロールしている場合にこれを少し遅らせる方法はありますか? スクロールしているだけの場合、リスト内の項目が「:active」にならないようにしています。たとえば.. 携帯電話の「連絡先」リストを考えてみてください。スクロールすると、アイテムを具体的に押すまで、名前/アイテムは「:active」スタイルをトリガーしません。
jquery - タッチスタートでiphone/ipadのjQueryツールツールチップを閉じる
iphone / ipad / ipodが検出された場合、次のコードを実行しています。
def:'touchstart'を宣言することで、ホバーではなく最初のタッチが機能するようになりましたが、ボックスが閉じず、def:'touchstart、touchstart'のような別のタッチスタートを呼び出すことができません。def:'toggle'も、私には論理的に思えます。
何か案は?
jquery - jQuery: 最初のイベントが認識された後、2 番目のバインドされたイベントの発生を停止する
jQuery では、2 つのイベントを 1 つの jQuery オブジェクトにバインドできます。最初のイベントが開始されたら、2 番目のイベントの発生を停止するにはどうすればよいですか? 要素をクリックすると、 touchstart がすぐに起動します。しかし、要素を指で押さえたままにすると、クリックが発生します。タッチスタートを起動してから停止するだけです。問題は、関数が 2 回続けて実行されていることです。
javascript - Android 4.0「Ice Cream Sandwich」で TOUCHSTART イベントに一貫性がない
Android 4.0 では、BUTTON
要素がイベントを受け取るのに非常に一貫性がないことに気付きました。特定の、およびイベントTOUCHSTART
にイベント リスナーを追加し、すべての Ice Cream Sandwich テスト デバイスでイベントが発生する頻度は低く一貫性がありませんが、およびは毎回発生します。BUTTON
TOUCHSTART
MOUSEDOWN
CLICK
TOUCHSTART
MOUSEDOWN
CLICK
通常、私は他の 2 つのイベントに頼ってそれで終わりますが、私が現在取り組んでいる特定のプロジェクトのリーダーは、TOUCHSTART
モバイル デバイスでイベントを使用することにかなり固執しています。
Android でこの問題を回避する方法について何か考えはありますか?
jquery - クリック アンド ホールドしてスクロール、touchstart、touchmove、touchend
スクロール可能なdivがあります。「長押し」でリストをスクロールしたり、ボタンをクリックして選択したりできるようにしたいと考えています。
問題は、div をスクロールするためにボタンを押したままにすると、クリック機能がトリガーされることです。
スクロール時にトリガーしないようにしたい。ホールド機能のクリックを区別する方法が必要です。
だから私は使用しています:
私は次の解決策を考えました。
'.panel'
がmousedown
以上の場合、500 ms
ボタンがアクティブになり、押されます:
'.panel'
がの場合mouseup
、ボタンは通常の状態に戻り、すべてのボタンが出力の動きをします。
しかし、ユーザーの場合mousemove
、mousedown
およびmouseup
アクションはキャンセルされます。
これを実践する方法がわからない
それに似たものです: http://m.microsoft.com/windowsphone/en-us/demo/default.aspx
提案してください。
jquery - iPhone で html ボタンをタッチすると、href が URL に # を追加することがあります: なぜですか?
ライブデモページはこちら
...および関連するコード:
iPhone4 と Safari 5.1.1 を使用している場合、(私のデモ ページの)黒いボタンをタッチすると、URL にハッシュ タグが表示されることがあります (例: http://foo.com/# )。常に発生するわけではなく、たまにしか発生しません...ボタンの外側の端をゆっくりとタッチすると発生するようです。
私は困惑しています!
ここで何が起こっているのか分かりますか?リンクが起動しないようにするためのヒントはありますか?
編集#1:
ハッシュ タグが URL に表示されることはありません。(これが明確でない場合は申し訳ありません).*
編集#2:
将来の読者のために: 私の質問をした後、私はこの質問を見つけました...それは私の問題に関連しており、有益な提案がたくさんあります.
ここに返信してくれた皆さんに感謝します...あなたがいなかったら、おそらく上記のスレッドを発見できなかったでしょう.
また、「ゴースト クリック」を処理するために私が選択したソリューションを誰かが見たい場合に備えて、ここに私の最新のデモ ページがあります。
javascript - evt.offsetX は Safari で undefined を返します
Javascript を使用して SVG 要素にドラッグ/移動アクションを実装しようとしています。次のようなイベント ハンドラを使用しています。
タッチ デバイスかどうかに応じて、mousedown または touchstart のいずれかを handleMouseDown にポイントするコードが既にあることに注意してください。
私のデスクトップでは、コードは IE9、Google、および Safari で正常に動作します。ただし、iPad では、タッチスタート時に、フィードバックに「未定義、未定義でのマウスダウン」が表示されます。.offsetX と .offsetY を .pageX と .pageY に置き換えると、実際の座標が得られます。そのため、Safari Mobile は .offsetX と .offsetY を処理しないようですが、.pageX と .pageY を処理します。
ソース要素の position.left プロパティを使用して pageX から .offsetX を計算できることはわかっていますが、可能であればこれを避けたいと考えています。私の質問は次のとおりです。私のコードまたはアプローチに何か問題がありますか、それとも .offsetX が Safari Mobile で処理されませんか。
どんな助けでも大歓迎です!
javascript - iOS Safari: 動的に挿入された要素で touchstart が起動しない
私はiOS Safari用のWebアプリに取り組んでいます。その下にオートコンプリート/提案リストを含む検索入力があります。JavaScript を使用して、提案をリストに追加します。
問題はontouchstart
、要素に触れたときに が起動されないように見えることです。
などでテストしましたがconsole.log();
、何も起こりません。
どうすれば動作させることができますか?