2
我有一個輸入字段,它使用自動完成來顯示用戶輸入的文本可能匹配的列表,並且在該字段下是另一個輸入字段。當用戶鍵入文本,然後單擊它下面的下一個字段時,自動完成下拉菜單將覆蓋該輸入字段。當字段焦點丟失時停止jQuery自動完成
我只想顯示自動完成下拉菜單,如果該字段仍然有焦點,並且當焦點丟失時將中止自動完成操作。
我的代碼是這樣的。
var inputID = "#"+model+field;
$(inputID).autocomplete({
source: autoURL,
delay: 0,
minLength: 1
});
模型和字段被定義爲函數參數。
我想我可以附加一個事件來捕捉焦點的丟失,然後調用像$(inputID).abort()
這樣的事件來取消自動填充。或者我可以添加一個焦點事件處理程序到它下面的字段來觸發中止。我已經嘗試過的任何工作,並且我已經查看了自動完成的代碼,並且看不到阻止它的方法。
我運行的jQuery 1.7.1和jQuery UI 1.8.18
任何幫助將是巨大的。
感謝
當另一個字段收到焦點時,我試着調用'$(inputID).autocomplete('close')',但它並沒有停止自動完成ajax調用。我閱讀了文檔,並將其理解爲它會在顯示後隱藏彈出窗口。我希望阻止它達到這一點。 – cgTag 2012-03-22 15:33:18
如果源字段沒有焦點,我通過從打開的事件調用close來獲得它的工作。不中止ajax調用,但仍然產生我需要的結果。 – cgTag 2012-03-22 15:42:47
很高興聽到它! – 2012-03-22 15:55:39