我正在使用此处的叠加层jquery:
http://flowplayer.org/tools/overlay/index.html
在我的叠加层中,我有一个像这样的搜索框:
<div class="simple_overlay" id="asearch">
<div id="searchbox">
<form id="amazonsearch" style='float:left;'>
<input class="title" id="amazon-terms" style="width:400px;font-size:2em;">
<button class="sexybutton sexysimple sexygreen">Search</button>
</form>
<div id="amazon-results"></div>
</div><!--seachbox-->
</div><!--Overlay-->
我想要发生的是当您加载叠加层时,叠加层中的搜索框会获得焦点,因此您可以开始输入它。我认为这样可行:
$("a[rel]").overlay({
onLoad: function() {
$('#amazon-terms').focus();
}
});
但这似乎没有做任何事情。我知道事件正在解雇,因为这有效:
$("a[rel]").overlay({
onLoad: function() {
alert('popup opened')
}
});
但是,当此警报触发时,屏幕上还没有出现叠加层,所以我想知道这是否是问题的一部分?根据文档onLoad应该“在叠加层完全显示时”(ref)
任何帮助表示赞赏! :)
由于
汤姆
编辑这段代码符合我的要求,但是当上面的代码不能解决时,为什么会这样做,我并不是更明智的。
var triggers = $("a[rel]").overlay({
closeOnClick: false,
onLoad: function() {
$('input').focus();
}
});
答案 0 :(得分:1)
基于此jQuery Tools demo的简化示例似乎有效:http://jsfiddle.net/heikki/2Fkqu/
点击“用户输入”按钮打开叠加层。