2011-02-08 122 views

回答

7

的一個解決方案是檢查字段/輸入/選擇不同的從它的值是否是默認值。 defaultValue將是最初在標記中的值,value是當前值aka選中或輸入的值。即使表單是自動填充的,這可能會有所不同。

如果要完全關閉自動填充,它可能是明智的,對直接連接到你的邏輯字段添加自動完成=「關閉」。

+0

我也嘗試了類似的解決方案,但問題是我將文本設置爲「」,然後通過chrome進行自動完成,然後再次將我的憑據放到那裏... – Revious 2014-10-16 11:59:01

+0

Chrome現在覆蓋了自動填充功能,並決定將其自動填充爲一個更好的UX: - \ – webdevinci 2016-05-03 12:37:45

0

您是否嘗試過使用onpropertychanged而不是onchange事件?這僅適用於IE瀏覽器,並且是MSDN上的建議修復程序。我已經使用偶爾

+0

我會,但被成千上萬的人跨越每一個瀏覽器觀看可以想象一個網站,我不認爲這會工作得很好。 – 2011-02-08 21:04:05

+0

這看起來類似於:http://stackoverflow.com/questions/343192/why-does-the-javascript-onchange-event-not-fire-if-autocomplete-is-on – Satyajit 2011-02-08 21:35:52

0

萬一有人還在尋找一個解決方案( )正如我今天聽一個瀏覽器自動填充的變化,這裏是我建立一個自定義的jQuery的方法,只是增加一個變化監聽器,輸入時簡化proccess:

$.fn.allchange = function (callback) { 
     var me = this; 
     var last = ""; 
     var infunc = function() { 
      var text = $(me).val(); 
      if (text != last) { 
       last = text; 
       callback(); 
      } 
      setTimeout(infunc, 100); 
     } 
     setTimeout(infunc, 100); 
    }; 

你可以這樣調用:

$("#myInput").allchange(function() { 
    alert("change!"); 
});