我有这样的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