2012-01-30 19 views
1

我有一個自動完成搜索表單,或多或少像facebook上使用的那樣,我開始鍵入並顯示名稱列表。 我做了這些名稱中的每一個的鏈接,以便打開他們的個人資料頁面。 我也在搜索表單的輸入字段'onblur'上有一個函數,我在其中隱藏了所有名稱的自動完成div。所以當我在外面點擊時,它不會保持可見。現在唯一的問題是,當我單擊其中一個名稱時,即使光標在懸停時發生更改,頁面也不會重定向到錨標籤的配置文件頁面。在隱藏錨標記之前遵循url

有人有什麼想法嗎?

+2

你到目前爲止的代碼是什麼? – Neal 2012-01-30 15:09:53

+0

顯示一些代碼,使用jsfiddle.net。使用準備好的數據加載少量配置文件,而不是使用faceboook api。 – IProblemFactory 2012-01-30 15:11:55

回答

1

這是因爲您的隱藏事件會在實際單擊元素之前刪除列表。有幾個解決方案。

首先,你可以使用的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); }); 
+0

好的,我確實可以封鎖隱藏事件。沒想到那樣。在隱藏事件之前是否有另一種優先點擊事件的方式?是的,我使用jQuery。 – dreagan 2012-01-31 09:30:52

+0

@dreagan - 不,你不能重新排序事件。我會用幾個解決方案更新我的答案。 – mrtsherman 2012-01-31 14:57:17