У меня возникли проблемы с объединением событий HOVER и FOCUS с jquery. Это то, что у меня было изначально:
$("input,textarea").focus(function () {
$(this).parent().siblings('div.exp').removeClass('hide');
$(this).parent().siblings('div.exp').addClass('show');
});
$("input,textarea").blur(function (){
$(this).parent().siblings('div.exp').removeClass('show');
$(this).parent().siblings('div.exp').addClass('hide');
if ($(this).val().length <= 0) {
$(this).siblings('span.warning').removeClass('hide');
$(this).siblings('span.warning').addClass('show');}
else {
$(this).siblings('span.warning').removeClass('show');
$(this).siblings('span.warning').addClass('hide');
}
});
По сути, у меня есть форма контакта пользователя со строками, подобными приведенным ниже:
<div class="row">
<p><label>Your Name</label><input type="text" name="name" id="name" value=""/><span class="warning">Your name is missing</span></p>
<div class="exp">Who am I to address?</div>
</div>
Смысл моего кода Jquery состоит в том, чтобы выдать скрытый div (exp), когда пользователь фокусирует какой-либо один элемент ввода или элемент textarea, а также проверить, не является ли значение указанного ввода пустым при расфокусировке (размытии) элемента. (Я еще не приступил к проверке, так что проверка длины строки сейчас является лишь временным заполнителем). Если элемент имеет строку, меньшую или равную 0, то span.warning должен быть «показан» пользователю.
Это все работает хорошо.
Вот где я застрял:
Я хочу добавить курсор, но без конфликта с фокусом. Мой желаемый конечный эффект таков:
Вы наведите курсор на любой ввод или текстовую область, и вы получите div.exp, чтобы показать (exp для объяснения). Вы фокусируете любой ввод или область, и div.exp остается там, даже если вы собираетесь навести курсор на любые другие входы или текстовые области. Если вы наведите курсор на уже сфокусированный ввод, ничего не произойдет.
Итак, в двух словах, элементы фокусировки и наведения должны работать, так сказать, «независимо». Не уверен, что я ясно дал понять, ну да ладно, я попытался =)
Приветствие
G