2009-06-11 13 views

答えて

3

:この答えは古く、そこに新しいバージョンに関連していないかもしれない...


それはあなたのヘルプなしとして来たが thisスレッドの最後のポスターはWebKitのバグのそのことを書きましたエンジン。
その検証バグかどうかはわかりません...

(動作しないようです、元のように) way back machineから

最後の投稿:

私は純粋なXHTML MPで私のアプリを開発しています/ Ecmascript MP/WCSS。だから、 ネイティブプラットフォームブラウザコントロールAPIを使用すると、本当に 私のためのオプションではありません。はい、あなたが言及する行動は私のものと同じです。私はwebkit.orgでBugzillaに彼の トピックを検索し、これが実際に 報告バグであることがわかりました。テキストボックスへのfocus()は要素を強調表示しますが、 はユーザーがテキストの入力を開始するためのキャラットを提供しません。 "[email protected]"で言及されているタイマーを使用することは役に立ちません。

この現象は は、WebKitのエンジンを使用するプラットフォーム(S60、iPhone、アンドロイド)に共通です。

だから今のように私はこの問題の解決策を参照してくださいいけません。

希望これは、それが唯一あなたがクリックイベントからフォーカスを発射する場合は、キーボードを表示し、そのフォーカスをして、それはキーボードが表示されますのonclickでページ上のボタンを配置します

+0

リンクはもはや動作しません。また、答えは何の情報も提供しません。 – eMarine

18

に役立ちます。検証を除いて完全に役に立たない(無効な要素に焦点を当てた検証コードの送信時に)

+0

が確認されました。 「クリック」が機能します。何らかの理由でジェスチャーイベントが機能しない... – RickDT

+0

どういう意味ですか?このようなコードですか? 'button.click = function(){ button.focus(); }; document.body.onload = function(){ button.click(); }; 'でも動作しません。 – CoderLim

2

私は似た問題を抱えていますが、問題は「touchend」イベントでは発生しません。

http://jsfiddle.net/milosdakic/FNVm5/

次のコードは、クローム/サファリなどに動作しますが、モバイルSafariで失敗します。それを有効にする唯一の方法は、イベントを「クリック」にすることですが、コードがiOSデバイス用に作られているのを見ると、タッチイベントで動作するのに役立ちます。

のWebkitエンジンのバグのようです。

-4

これはworkroundです:

setTimeout(function(){ 
    input.focus(); 
},500);//milliseconds 
+3

この回避策をiOS 6.0.1を実行しているiPad 2で動作させることができませんでした。 –

+0

これは、Appleのセキュリティポリシーに関しては機能しません。 –

5

編集:は、もはや次は、iOS上で動作 - のUIWebViewは、オートフォーカスに使用オートフォーカス、ホーム画面のリンクを許可しましたが、彼らは無効に多くのバージョン前のこと。

autofocusプロパティは、Mobile SafariでURLから動作しませんが、あなたがしている場合は動作しない(下記参照):

  1. は、ホーム画面のリンク
を使用してのUIWebView
  • を使用して

    入力のフォントサイズは、iOS10がダブルタップでズームするのを避けるために十分な大きさでなければならず(画面が常に拡大表示されるようになりました)、画面サイズに合わせてページを設計する必要がありますズームのタイミング/競合のバグ、またはスクロール可能な場面は画面の中心にない場合があります)。

    autofocus:これを行うためのHTML5仕様は、autofocus property of the input tagです。しかし、iOSはこれを無視している。おそらく、ページにナビゲートするときにタッチキーボードをポップアップしないクリーンなUIがあると思われる。 Hereは、オートフォーカスプロパティを示すページです。 HTML5の前に、window.onloadイベントでelement.focus()を呼び出します。ただし、onclickイベントのハンドラ中以外は、focus()呼び出しはiOSではサポートされていません。

  • +1

    あなたの答えは若干の控えめなものです。 WkWebViewは入力フィールドにオートフォーカスをしません(セキュリティ上の理由で接続されています)。 –

    0

    少し遅れている可能性があります。あなたがフォーカスを設定している場合は、ページの読み込み(jQueryのモバイル環境)

    +1

    フォーム入力がフォーカスを受け取る(CSSスタイルが適用されます)が、キーボードは開かない。 – guiniveretoo

    0

    で呼び出され

    startFocusOnTextField: function() { 
         this.intervalIDForTextFieldFocus = window.setInterval(function() { 
          document.getElementById(page.textInputFieldObj.id).focus(); 
         }, 150); 
        }, 
    

    :私たちのWebアプリケーションはiOSのアプリ(6、より最近の)上で実行されている、我々は、設定された間隔でそれを行いますclickイベントから、preventDefaultする必要があります。それ以外の場合、clickイベントのデフォルトアクションは、クリックされたアイテムにフォーカスを設定します。

    関連する問題