2013-12-03 4 views
0

У меня есть функция, которая выполняется при щелчке по текстовому полю.Ввод текста для работы в качестве фокуса

$('#myField').focus(function() { 
    if($(this).val() == default_text) { 
     $(this).val(''); 
    } 
}).blur(function(){ 
    if($(this).val().length == 0) { 
     $(this).val(default_text); 
    } 
}); 

Однако, у меня есть еще один сценарий, который помещает курсор в это поле на странице загрузки, и вы можете просто начать печатать, но когда это произойдет, моя функциональность лань не пинать. Как я могу добавить, что первоначальный ввод типирование действовать как .фокус?

+0

, что делает «другой сценарий»? Укажите соответствующий код, пожалуйста. BTW, этот сценарий называется до того, как вы устанавливаете обработчик фокуса? –

+0

В основном удаляет текст по умолчанию. Я обновил код. – santa

+0

Я говорил об этом: «У меня есть другой скрипт, который помещает курсор внутри этого поля» –

ответ

0

вам нужно будет немного реорганизовать.

$('#myField').on('focus blur keyup', function(e){ 
    if($(this).val() == default_text && e.type == 'focus') 
     $(this).val(''); 
    else if($(this).val().length == 0 && e.type != 'keyup') 
     $(this).val(default_text); 
}); 

, что необходимо сделать трюк

+0

К сожалению, это приведет к удалению любых символов после каждого нажатия клавиши ... – santa

+0

Я добавил фильтрацию типа события, которое должно работать на вас. http://jsfiddle.net/b6Dgu/2/ –

0

Если вы хотите, чтобы имитировать «в центре внимания» на документе готовы:

$(document).ready(function(){ 
    $('#myField').trigger('focus'); 
}); 
+0

Он уже сосредоточен на загрузке страницы. – santa

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