Событие onLoad focus () в эффекте наложения jquerytools - PullRequest
1 голос
/ 01 января 2011

Я использую 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();
}
});

1 Ответ

1 голос
/ 01 января 2011

Упрощенный пример, основанный на этой демонстрационной версии jQuery Tools , похоже, работает: http://jsfiddle.net/heikki/2Fkqu/

Нажмите кнопку «Ввод пользователя», чтобы открыть оверлей.

...