Скрытие формы с помощью jQuery, но не хочу, чтобы она скрывалась при появлении автозаполнения - PullRequest
1 голос
/ 06 ноября 2010

Я установил форму для fadeOut, используя jQuery, когда мышь покидает форму с идентификатором #loginform_top.Это работает нормально, но так как эта форма является окном входа в систему, когда firefox вызывает данные автозаполнения для полей ввода в этой форме, действие по перемещению мыши на автозаполнение скрывает мою форму.Есть ли возможность выбрать автозаполнение, не скрывая форму.Спасибо, что посмотрели на это.Я использую следующий код:

  $('#loginform_top').hide(); 
  $('.loginToggle').mouseover(function() { 
    if(!$('#loginform_top:visible').length)
    {
      $('#loginform_top').fadeIn('fast'); 
    }
  });
  $('#loginform_top').mouseleave(function() { 
   $('#loginform_top').fadeOut('fast') 
  });

});

Ответы [ 2 ]

0 голосов
/ 06 ноября 2010

Это скорее хак, но что если вы запустили setTimeout в обработчике mouseleave, который задерживает скрытие формы, чтобы дать пользователю возможность разобраться с автозаполнением.

В качестве альтернативы, вы могли бы предоставить «X» или что-то, чтобы позволить пользователю отклонить форму, если он решит не входить в систему, вместо использования mouseleave. Это предполагает, что не вход в систему является допустимым параметром.

0 голосов
/ 06 ноября 2010

Вы можете попробовать увеличить форму, добавив <br /> s внутри нее или установив атрибут стиля высоты. Это может быть вызвано тем, что мышь покидает форму при нажатии на опции автозаполнения (как я думаю, вы описали выше).

Я не проверял, но вы могли бы комбинировать это с onblur = "", который говорит, когда текстовое поле не выбрано. Затем ваш другой код JavaScript может ссылаться на определенную там переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...