следуйте URL, прежде чем скрывать якорный тег - PullRequest
1 голос
/ 30 января 2012

У меня есть форма автозаполнения поиска, более или менее похожая на ту, которая используется на Facebook, где я начинаю печатать, и появляется список имен.Я сделал ссылки на каждое из этих имен, чтобы вы могли открыть страницу их профиля.У меня также есть функция в поле ввода формы поиска «onblur», где я скрываю div автозаполнения со всеми именами.Так что, когда я нажимаю за его пределами, он не остается видимым.Теперь единственная проблема заключается в том, что когда я щелкаю одно из имен, страницы не перенаправляются на страницу профиля тега привязки, даже если курсор изменяется при наведении курсора.

Кто-нибудь знает?

1 Ответ

1 голос
/ 30 января 2012

Это потому, что ваше событие скрытия удаляет список до того, как элемент может быть фактически нажат. Есть несколько решений.

Сначала вы можете использовать setTimeout, чтобы скрыть

setTimeout( function() { /* hide list */ }, 500);

В ответ на ваш комментарий нет, вы не можете изменить порядок событий. Так что вам придется искать обходной путь. Есть несколько методов, но так как вы используете jQuery, я бы сделал это следующим образом.

//you probably have something like this currently
$('element').blur( function() { $('results').hide(); });    

//change it to something like this
$('element').blur( function() { $('results').fadeOut(300); }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...