2

私はjqueryモバイルでこのUIを作成しました。ここでは、ボタンをクリックして検索入力をスライドさせて検索します...同様に、入力ボックスに焦点を当てます...

これは私が使用しているスクリプトです。

 $(function() {

    $( ".opensearch" ).on( 'tap', tapHandler );

    function tapHandler( event ) {
      $('.search_field').slideToggle();
      setTimeout(function(){
         $('.search').focus().tap();
        },0);
    }

});

Opera Mobile と iphoneでテストしましたが、問題は、フォーカスが発生しないということです。これは、適用するとブラウザのキーボードfocus()が表示されるはずです...

私のコードは正しいですか、それとも何か他のものですか? 純粋なjavascriptはこれを機能させるためのソリューションですか?

これは動作しないデモですhttp://jsfiddle.net/aH4QM/show/

4

3 に答える 3

4

あなたのコードの問題は $('.search').focus().tap();

あなたが言及したhtmlで

 <input name="search" id="search" value="" placeholder="Search Item...." type="search" data-theme="e" />

'Id'で始める必要があります'#' not '.'

変更された jsfiddle リンクはhttp://jsfiddle.net/aH4QM/4/です

注:フィドルをチェックインするには、'tap'イベントを次のように変更しました'click'

于 2013-05-16T05:52:16.977 に答える