Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果浏览器自动填充输入字段,则调用函数_Javascript_Jquery_Html_Autocomplete_Callback - Fatal编程技术网

Javascript 如果浏览器自动填充输入字段,则调用函数

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) {

我试图调用一个函数来检测浏览器是否自动填充了一个字段,如果是,则向其中添加一个类

我找到了一个线程,该线程具有部分有效的解决方案:

以下是我对it的整合:

$.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);