Dopo una lunga lotta, ho finalmente trovato l'unico modo per cancellare il riempimento automatico styling in tutti i browser:rilevare quando il riempimento automatico è stato riempito
$('input').each(function() {
var $this = $(this);
$this.after($this.clone()).remove();
});
Il problema è, non può essere eseguito in load
, perché il riempimento automatico dei campi avviene dopo il fatto. In questo momento sto in esecuzione su un timeout di 100 millisecondi dopo load
:
// Kill autofill styles
$(window).on({
load: function() {
setTimeout(function() {
$('.text').each(function() {
var $this = $(this);
$this.after($this.clone()).remove();
});
}, 100);
}
});
e che sembra sicura su anche il più lento dei sistemi, ma non è molto elegante. C'è qualche tipo di evento affidabile o controllo che posso fare per vedere se la compilazione automatica è completa?
MODIFICA: si tratta del riempimento automatico.
autofill http://dl.dropbox.com/u/2463964/autofill.png
Solo curioso, perché vuoi cancellare i campi dei moduli autofilled? – j08691
@ j08691: Non voglio cancellare i campi compilati automaticamente (non è quello che fa), voglio cancellare il brutto sfondo giallo che è anche immutabile nei CSS. – Ryan
cos'è "riempimento automatico"? –