1

我从这里使用覆盖 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 应该触发“当覆盖完全显示时”(参考

任何帮助表示赞赏!:)

谢谢

汤姆

编辑此代码执行我想要的操作,但我不知道为什么当上面的代码不起作用时它会起作用......

var triggers = $("a[rel]").overlay({
closeOnClick: false,
onLoad: function() {
$('input').focus();
}
});
4

1 回答 1

1

基于此jQuery 工具演示的简化示例似乎有效:http: //jsfiddle.net/heikki/2Fkqu/

单击“用户输入”按钮打开覆盖。

于 2011-01-01T13:37:06.797 回答