Javascript 如果浏览器自动填充输入字段,则调用函数
我试图调用一个函数来检测浏览器是否自动填充了一个字段,如果是,则向其中添加一个类 我找到了一个线程,该线程具有部分有效的解决方案: 以下是我对it的整合:Javascript 如果浏览器自动填充输入字段,则调用函数,javascript,jquery,html,autocomplete,callback,Javascript,Jquery,Html,Autocomplete,Callback,我试图调用一个函数来检测浏览器是否自动填充了一个字段,如果是,则向其中添加一个类 我找到了一个线程,该线程具有部分有效的解决方案: 以下是我对it的整合: $.fn.allchange = function (callback) { var me = this; var last = ""; var infunc = function () { var text = $(me).val(); if (text != last) {
$.fn.allchange = function (callback) {
var me = this;
var last = "";
var infunc = function () {
var text = $(me).val();
if (text != last) {
last = text;
callback();
}
setTimeout(infunc, 10);
}
setTimeout(infunc, 10);
};
$(".input").allchange(function () {
$('.input').addClass('not--empty');
});
我遇到的问题是,我还有一个函数,用于检查模糊输入的更改,并向该输入添加一个类。但是,上述函数导致将其添加到“.input”的所有实例中
我认为解决方案是只在自动填充元素上调用函数,但当我运行下面的函数时,它不起作用:
$(".input").allchange(function () {
$(this).addClass('not--empty');
});
有什么办法让它工作吗
编辑:我想添加一张图片来澄清我指的是什么:
因此,这实际上是一个非常简单的解决方案——它可能不适用于所有浏览器,但它可以完美地适用于Chrome/Firefox/Safari最新版本,这对于这个应用程序来说是很好的
setTimeout(function() {
$('.input:-webkit-autofill').each(function() {
var elem = $(this);
$(elem).addClass('not--empty');
})
},100);