3

PhoneGap アプリを作成しています。ページロードのテキストエリアにフォーカスを設定する必要があります:

利用した

<body onload="newNoteOnLoad();">
<div class="container">
    <div class="header">
        <h1 id="noteHeader">
            New Note</h1>
        <a href="Books.html" class="back" id="back"></a><a href="#" class="done" id="bttnDone" onclick="addNewNote();">
        </a>
    </div>
    <div class="mainhelp">
        <p>
          <textarea id="txtNote" cols="115" rows="15"></textarea>
        </p>
    </div>    
</div>
<script type="text/javascript">
  alert('focus');
  document.getElementById("txtNote").focus();
</script>

ページロード機能で。しかし、それは私にはうまくいきませんでした。誰でも私を助けてもらえますか?

4

3 に答える 3

1

まだDOMにロードされていない要素を参照しています。これらの目的のために、たとえば、jQueryには.ready()イベントがあります。HTMLの「myControl」要素のすぐ下に同じスクリプトをロードして、それが機能するかどうかを確認するか、jQueryを使用してこれを行います。

JavaScriptソリューションは、参照しているHTML要素の後にロードすると、次のように機能します。例:

  <textarea id="myControl"></textarea>
    <script>
      document.getElementById('myControl').focus(); 
    </script>

jQueryを使用すると、次のようになり、ページのどこにでもロードできます。

$(document).ready(function() {
   $('#myControl').focus();
});
于 2012-08-07T09:47:44.980 に答える
1

キーボードを表示したい場合は、フォーカス イベントが非同期で発生するという大きな問題が発生します。touchstarttouchend&などのユーザー入力でキーボードを起動するのは運が良かっただけですclick

于 2012-08-07T09:52:47.817 に答える