Home → Разное →

Скрываем/показываем placeholder при фокусе/блюре на поле

Опубликовано в ср, 11/05/2014 - 10:00

Задача: есть поле ввода, например, форма поиска, с атрибутом placeholder "Поиск..." (как добавить placeholder к полю поиска в Drupal 7, читайте тут), нам нужно при клике(активации, или при передаче фокуса полю) скрывать placeholder, и показывать его снова если фокус с поля снят, но не был осуществлен ввод пользовательского текста в поле.

Для реализации данной задачи нам потребуется JQuery. Для этого создаем функцию, предварительно подключив библиотеку JQuery:

  1. $(function(){
  2. function interactive_placeholder(){
  3. var $field = $('#search input[type="text"]'),
  4. $placeholder = $field.attr("placeholder");
  5.  
  6. $field.focus(function(){
  7. if($field.attr("value") == ""){
  8. $field.attr("placeholder", " ");
  9. }
  10. })
  11.  
  12. $field.blur(function(){
  13. if($field.attr("value") == ""){
  14. $field.attr("placeholder", $placeholder);
  15. }
  16. })
  17. }
  18. interactive_placeholder();
  19. });

Комментарии к коду:

в строке 3, заносим наше поле в переменную.
в строке 4, заносим атрибут placeholder нашего поля в переменную
в строке 6, создаем обработчик событий "когда фокус на поле"
в строке 7, проверяем пустое ли поле, то есть не был ли туда введен пользовательский текст
в строке 8, сбрасываем текущий placeholder, если поле было пустое
в строке 12, создаем обработчик событий "когда фокус снят с поля"
в строке 13, проверяем пустое ли поле, то есть не был ли туда введен пользовательский текст
в строке 14, если фокус снят, и в поле не была введена пользовательская информация, то возвращаем исходный placeholder
в строке 18, запускаем функцию

JQuery
placeholder
focus
blur

Menu

  • Главная
  • О блоге

Category

Drupal
(15)
Php
(4)
Верстка
(2)
Разное
(2)
lakshtori.ru (Лакштори,luckshtory) - бренд мошенников
© by Conocube / Блогу - 3970 дней