2012-03-14 14 views
-2

У меня есть два поля ввода текста в форме. Оба входа привязаны в промежутке.Функция размытия не работает должным образом

Я вызываю функцию на onblur событие обоих полей ввода, из-за чего оба входа исчезают.
При вводе значения в первом текстовом поле, а затем во втором текстовом поле исчезают оба поля ввода.
Я знаю, что я вызвал функцию в событии onblur, но я хочу, чтобы пользователь нажал по крайней мере на второе поле ввода.

+0

Можете ли вы показать код? Это действительно поможет нам решить вашу проблему. –

+0

, пожалуйста, покажите свой код ... – viyancs

+0

Вы хотите активировать событие размытия на обоих входах? –

ответ

0

Возобновление размывания обоих полей ввода, когда вы не используете идентификаторы.
Вы могли бы дать оба ваших полей ввода идентификаторов

<input id="firstInput" type="text"/> 
<input id="secondInput" type="text"/> 

и индивидуально размыть их самостоятельно:

$('#firstInput').on("click",function(){ 
     $(this).hide(); 
}; 
$('#secondInput').on("click",function(){ 
     $(this).hide(); 
}; 

Примечание:.on() работает только для JQuery 1.7+. Если вы используете более низкое использование версии .bind() или .click()

EDIT: Как gdoron уже упоминалось в его коде. Вероятно, вы нацелились на каждыеinput$('input') поле с .hide(), но вы должны использовать $(this).hide();, который скрывает только поле ввода, в котором теряется фокус.

4

Ваш код, вероятно, выглядит следующим образом:

$('input').blur(function(){ 
     $('input').hide(); 
    }); 

В то время как вам это нужно:

$('input').blur(function(){ 
     $(this).hide(); 
    }); 

Не выбирайте все текстовые поля внутри размытости обратного вызова, скрыть только тот, который был потерян фокус (используйте this).

+0

Да, извините, забыли, что извините: D –

+0

@EvilP. _ "Событие размытия возникает, когда элемент теряет фокус" _ – gdoron

Смежные вопросы