Simplemodal - 如何在onShow函数中设置焦点

时间:2011-05-07 13:25:20

标签: jquery focus simplemodal

我认为这很简单。刚

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

但它似乎不起作用。

与SimpleModal的focus()函数有冲突吗?

我注意到如果我在onShow函数中放置一个alert(),它会在模态可见之前弹出。有没有办法在显示模态后调用函数(即focus()),但没有用户输入(没有用户触发某种事件)?

当我尝试使用simplemodal的

focus:true

使用dialog.data =

'<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>'

焦点在于包装器(至少我是这么认为),用户必须按Tab键才能进入第一个输入元素。

任何帮助都会很棒,

格雷格。

1 个答案:

答案 0 :(得分:1)

试试这个:

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

希望这会有所帮助。干杯