2009-10-21 76 views
0

我在窗體中捕捉按鍵上的輸入以防止它提交表單,除非它是最後一個輸入;否則,它充當一個選項卡(查找下一個輸入並關注它)。當自動完成顯示時檢測到

關於如何而不是觸發event.preventDefault()如果瀏覽器自動完成被選中的任何想法?

+0

我只是嘗試這樣在Firefox,並發現該自動完成甚至不檢測由螢火蟲,那就是,你不能檢查它。我想在任何情況下減少檢測它從JavaScript – 2009-10-21 06:57:27

+0

的機率,看看這一個http://stackoverflow.com/questions/1567610/browser-textbox-autocomplete-event-when-does-this-happen – 2009-10-21 06:58:57

回答

0

如果你使用我不知道具體的插件,或者如果您已經能夠輕鬆地修改自動完成源代碼的能力,但我會嘗試做這樣的事情:

  • 查找用於觸發自動完成顯示的功能
  • 當觸發自動完成的可見性時設置一個布爾值(對於可見,爲true)
  • 檢查布爾值的狀態,只要您嘗試趕上輸入(或標籤)

請注意,您必須在自動填充對象的上下文中公開訪問布爾值。

同樣,不知道具體情況,如果你的實現是很難說如何最好地改變它,但它可能工作是這樣的:

var Autocomplete = { 
    bIsVisible: false, 
    display: function() { 
    // toggle visibility of the autocomplete 
    this.bIsVisible = !this.bIsVisible; 
    } 
} 

你會然後可以通過做這樣的事情利用它:

alert(Autocomplete.bIsVisible); // returns false 
Autocomplete.display(); // triggers the display of the autocomplete 
alert(Autocomplete.bIsVisible); // returns true 
+0

我我沒有使用自動完成插件,我正在使用瀏覽器自動完成功能。否則這將起作用 – SethZanderJensen 2009-10-24 21:39:42