Я использую 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 )
Любая помощь приветствуется! :)
Спасибо
Tom
РЕДАКТИРОВАТЬ Этот код делает то, что я хочу, но я не знаю, почему это работает, когда код выше не ....
var triggers = $("a[rel]").overlay({
closeOnClick: false,
onLoad: function() {
$('input').focus();
}
});