2012-05-27 62 views
4

我有一個輸入和模糊我想保存該值。 問題是我有自動完成功能,當用戶點擊自動完成列表中的建議時,模糊被觸發。檢查模糊是否由點擊div觸發

例如:用戶在輸入中輸入「iP」,然後從自動完成列表中單擊「iPhone」。在此種類中,存儲「iP」和「iPhone」值(由「模糊」觸發的「iP」存儲和由自動完成點擊觸發的「iPhone」存儲)。

我正在考慮檢查模糊動作是否由點擊自動完成列表觸發。

$('input').blur(function(e){ 
    if(e.IsClickOnAutocomplete) 
    return; 
    else save_value; 
}); 

那麼,我該如何檢查模糊被觸發的方式?

編輯 這裏,的jsfiddle顯示的東西呈三角我的問題http://jsfiddle.net/mkp8m/1

+0

你爲什麼想要保存在一個單純的模糊事件什麼?這真是令人驚訝的行爲。 – Esailija

+0

因爲當用戶按下空間時,atm值被保存。如果用戶輸入一個值然後移動到另一個字段,或者點擊網站上的其他字段,則該值不會被保存。 – Cristy

+0

我不認爲這是「令人驚訝的行爲」。難道你不希望在標籤輸入中在SO上編寫標籤,然後模糊該字段應該保存標籤嗎? – Cristy

回答

1

好吧,明確你的意思autocomplete後,這裏是解決方案。

使用change事件自動完成插件的:

change: function(event, ui) { 
    // save(this.value); 
} 

DEMO:http://jsfiddle.net/mkp8m/2/

+0

像魅力一樣工作,感謝:* – Cristy

+0

歡迎您:) – VisioN