我有這樣的JavaScript代碼:這段代碼爲什麼不能一直工作?
if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0)
{
$(window).load(function()
{
$('input:-webkit-autofill').each(function()
{
var text = $(this).val();
var name = $(this).attr('name');
$(this).after(this.outerHTML).remove();
$('input[name=' + name + ']').val(text);
});
});
}
它被設計成在除去輸入的webkit的自動填充的背景顏色的背景顏色。
但是,它只能運行有時,並且當我點擊一個輸入或在頁面加載的同時執行jQuery異步函數的按鈕時,它不起作用。
這段代碼有什麼問題,使得它有時無法工作,但在其他時間工作?我必須適應什麼?
這是我在做什麼:How do you disable browser Autocomplete on web form field/input tag?
但我想繼續自動完成,同時去除背景。我需要這個,因爲背景在我的文本輸入中超過背景圖像,所以你看不到它。
它爲什麼會點擊一下?它在onload上執行一次,並且您處於DOM呈現的擺佈狀態。考慮$(function(){})和事件處理程序? – 2012-01-10 21:40:44
'input:-webkit-autofill'對我來說看起來不是一個有效的選擇器......它甚至會返回任何東西嗎?你爲什麼只在尋找Chrome,你知道Safari也是一個webkit瀏覽器嗎? – Mottie 2012-01-10 21:48:20
@fudgey嗯,它是一個有效的webkit選擇器,正如我所說的,它有時會起作用,我只在尋找chrome,因爲它是唯一一個在自動完成任何事情時填充背景顏色的人。 – 2012-01-10 21:52:50