2

私は非常に奇妙な問題を抱えています。サイトを最初のレスポンシブ デザインに変更しました。私たちのモバイル バージョンでは、画像として表示されるようにスタイル設定された tel:(電話番号) を含む a href があります。

リンクのすぐ下にフォームがあります。最初のフォーム フィールドにカーソルをフォーカスする JavaScript があります。

私が抱えている問題は、特にiPhoneにあります。これは、ページの最初のロードで最初に tel リンクに触れて電話番号をダイヤルしようとしたときにのみ発生します。電話番号をもう一度タップすると、期待どおりに機能します。しかし、最初に電話番号をタップしようとすると、画面がジャンプしてフォーム フィールドの 1 つにフォーカスします。しかし、実際には、私が焦点を当てているデフォルトのものにも焦点を当てていません。2 番目または 3 番目のフィールドに焦点を当てますが、それはさまざまです。

ページからオートフォーカス JavaScript を削除すると、問題は解決します。問題は、ページのデスクトップ バージョンでこのコードが絶対に欲しいということです。

jquery ライブラリ 1.8.2、jquery ツール 1.2.7、モダナイザー 2.6.2 をロードしています。これらのいずれかが競合を引き起こしているかどうかはわかりません。

3 種類の情報ソリューションのいずれかに興味があります

  1. レスポンシブ デザインのブラウザ幅で JavaScript をオフにする方法。
  2. おそらくiPhoneのデバッグツール。
  3. またはもちろん、まっすぐな解決策。=)

読んでくれてありがとう。

4

1 に答える 1

0

この便利なツールを使用すると、メディアクエリに基づいて JS を実行できます: https://github.com/paulirish/matchMedia.js/

  1. マークアップからオートフォーカスを削除します。

  2. 次のようにセットアップします。

    if (matchMedia('画面のみと (最小幅: 480px)').matches) { $('オートフォーカスが必要な要素').attr('autofocus','TRUE'); }

値を「TRUE」に設定する代わりに、「autofocus」の値が必要になる場合があります。

于 2013-01-02T03:20:09.737 に答える