我正在使用OnKeyUp驗證字段。不幸的是,當用戶在他的瀏覽器中選擇自動填充建議時,它不會運行。輸入Onkeyup可以通過表單自動完成來避免
我想知道當用戶點擊瀏覽器輸入建議時,是否有任何方法可以觸發我的JavaScript。
你可以採取我正在使用OnKeyUp驗證字段。不幸的是,當用戶在他的瀏覽器中選擇自動填充建議時,它不會運行。輸入Onkeyup可以通過表單自動完成來避免
我想知道當用戶點擊瀏覽器輸入建議時,是否有任何方法可以觸發我的JavaScript。
你可以採取一個選項將被YUI http://developer.yahoo.com/yui/event/#customevent
被觸發使用自定義事件模型事件這樣做,你可以明確地火/觸發的方式,你認爲合適的
我不認爲這解決了他的問題。他無法知道何時明確觸發觸發器,因爲JS中沒有任何內容告訴他用戶點擊了自動填充建議。 – Kip 2012-08-20 13:52:38
對於IE,你可以聽onpropertychange
。對於FF/Chrome,您可以收聽oninput
。如果您不在怪癖模式下,IE9支持oninput,因此您可能需要某種瀏覽器嗅探或功能檢測代碼來防止該事件觸發兩次。
Here is a working JSFiddle。您必須輸入一些值並提交一次,才能在瀏覽器的自動完成歷史記錄中顯示。然後,當您點擊自動填充建議時,您會看到它觸發了哪個事件。
另一種選擇是完全禁用自動完成給定輸入字段:
<input type="text" name="myfield" id="myfield" autocomplete="off" />
最佳的解決方案,保持自動完成禁用,並使用從文本框中的原始值... – Vishwanath 2010-11-30 16:42:53