Я использую jQuery для переключения между «простыми» и «расширенными» поисковыми панелями, перемещая их вверх / вниз.После слайда я хочу установить фокус ввода на первое поле, однако это приводит к тому, что панель IE7 перестает работать.Это не происходит в FF 3.5.1
. Исходный код использует ASP.NET, но мне удалось воспроизвести его с помощью простого HTML и JavaScript ниже.Моя первая попытка была основана на таблицах, а не на div, но возникла та же проблема.
Я думал, что это может быть ошибка в peekaboo, но я попробовал некоторые из предложенных исправлений (position :lative, zoom: 1), но нетудачи.
Когда открывается демонстрационная страница, отображается простой элемент поиска, при нажатии на кнопку «Дополнительно» расширенная панель сдвигается вниз, но затем скрывается.Если вы измените размер окна, оно будет показано снова.Удаление вызова jquery () для focus () устраняет проблему.
$(document).ready(function() {
$("#btnSwitchAdvanced").click(function() {
$("#simpleSearchPanel").slideUp(200, function() {
$("#advSearchPanel").slideDown(500, function() {
$("#txtASDescription").focus();
});
});
});
$("#btnSwitchSimple").click(function() {
$("#advSearchPanel").slideUp(200, function() {
$("#simpleSearchPanel").slideDown(500, function() {
$("#txtSimpleSearch").focus();
});
});
});
$("#advSearchPanel").hide();
});
.criteriaRow
{
clear:both;
}
.criteriaLabel
{
float:left;
width:200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="searchPanel" style="background-color: #dcdcdc; margin-top: 5px;">
<div id="searchCriteria">
<div id="simpleSearchPanel">
<span>Simple Search</span>
<input type="text" id="txtSimpleSearch" />
<input type="button" id="btnSwitchAdvanced" value="Switch to Advanced" />
</div>
<div id="advSearchPanel">
<span>Advanded Search</span>
<div>
<div class="criteriaRow">
<div class="criteriaLabel">
<span id="lblASDescription">Description:</span>
</div>
<div class="criteriaInput">
<input type="text" id="txtASDescription" />
</div>
</div>
<div class="criteriaRow">
<div class="criteriaLabel">
<span id="lblASId">Id:</span>
</div>
<div class="criteriaInput">
<input name="txtASId" type="text" id="txtASId" />
</div>
</div>
</div>
<div>
<div id="criteriaActions" style="float:left;">
<input type="button" id="btnSwitchSimple" value="Switch To Simple" />
</div>
</div>
</div>
</div>
</div>