2011-05-07 20 views
2

シンプルになると思っていました。ちょうどSimplemodal - onShow関数の要素にフォーカスを設定する方法

... 
onShow:function(dialog){ 
    dialog.data.find("input#myInput").focus(); 
} 
... 

しかし、それは動作していないようです。

SimpleModalのfocus()関数と競合していますか?

私はalert()をonShow関数の中に置くと、モーダルが表示される前にポップすることに気付きました。モーダルを表示した後にユーザー入力なしで(何らかのイベントをトリガすることなく)関数(つまりfocus())を呼び出す方法はありますか?

私は

'<div class="myModal login">'+ 
    '<div class="modalTitle">Title</div>'+ 
    '<div class="modalContent">'+ 
     '<label for="username">Login: </label>'+ 
     '<input id="username" />'+ 
     '<br />'+ 
     '<label for="password">Pass: </label>'+ 
     '<input id="password" type="password" />'+ 
     '<br />'+ 
     '<div class="confirmButton no simplemodal-close">Cancel</div>'+ 
     '<div class="confirmButton yes">Login</div>'+ 
    '</div>'+ 
'</div>' 

= dialog.dataでsimplemodalの

focus:true 

を使用しようとしたときにもフォーカスがラッパーである(少なくとも私はそう思う)とユーザーが取得するために、タブを押しています第1の入力要素。

すべてのヘルプは素晴らしいことだ、

グレッグ。

答えて

1

これを試してみてください:

onShow:function(dialog){ 
    setTimeout(function(){ 
    dialog.data.find("input#myInput").focus(); 
    },50); 
} 

は、この情報がお役に立てば幸いです。乾杯。

+0

ありがとう、私はそれを動作させるために200に設定しなければならなかった。あなたの答えは、私が最初にうまくいかなかった理由を教えてくれたヒントでした。私はonOpen関数もいくつかのアニメーションで使用しました。一旦onOpen関数全体をコメントアウトすると、setTimeout()を使わなくても機能しました。 – gswierczynski

+0

私はあなたを助けてうれしいです。 –

関連する問題