Я могу сделать скрытое отображение / скрытие div, когда поле ввода находится в фокусе / размытии, используя следующий код:
$('#example').focus(function() {
$('div.example').css('display','block');
}).blur(function() {
$('div.example').fadeOut('medium');
});
Проблема в том, что я хочу, чтобы div.example
продолжал быть видимым, когда пользователь взаимодействует в этом разделе. Например. щелкните или выделите текст и т. д. в пределах div.example
. Однако div.example
исчезает, когда ввод не находится в фокусе, и мышь взаимодействует с элементами внутри div.
HTML-код для элементов input и div выглядит следующим образом:
<p>
<label for="example">Text:</label>
<input id="example" name="example" type="text" maxlength="100" />
<div class="example">Some text...<br /><br />More text...</div>
</p>
Как сделать так, чтобы div.example
исчезал только тогда, когда пользователь щелкает вне ввода и / или div.example
? Я попытался поэкспериментировать с focusin / focusout, чтобы проверить фокус на <p>
, но это тоже не сработало.
Имеет ли значение, что div.example
расположен непосредственно под полем ввода #example с использованием jQuery? Код, который делает это следующим образом:
var fieldExample = $('#example');
$('div.example').css("position","absolute");
$('div.example').css("left", fieldExample.offset().left);
$('div.example').css("top", fieldExample.offset().top + fieldExample.outerHeight());
Приношу свои извинения, если об этом уже спрашивали, но многие прочитанные / скрытые div-вопросы, которые я прочитал, не охватывают это. Спасибо за совет. :)