Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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_Html_Css - Fatal编程技术网

如何在JavaScript中实时检测输入值的变化?

如何在JavaScript中实时检测输入值的变化?,javascript,html,css,Javascript,Html,Css,我试图让我的输入字段元素在输入值更改后立即删除一个类。目前,我能够检测到更改并删除类“invalid”,但只有在输入字段处于非活动状态之后。这是我的密码 fieldsArr.forEach(el => { el.addEventListener('change', function() { this.classList.remove('invalid'); }); }); 改为使用input事

我试图让我的输入字段元素在输入值更改后立即删除一个类。目前,我能够检测到更改并删除类“invalid”,但只有在输入字段处于非活动状态之后。这是我的密码

fieldsArr.forEach(el => {
            el.addEventListener('change', function() {
                this.classList.remove('invalid');
            });
        });

改为使用
input
事件,顾名思义,它会在每次输入时触发,有关如何使用事件,请参见此示例:

let-inputElem=document.querySelector('input');
inputElem.addEventListener('input',()=>{
console.log(inputElem.value);//输入后记录新值
});

如果你想监听事件,你的elemet应该从EventEmitter扩展而来。

不要监听
更改
,而是监听
输入
“Javascript”和“real-time”实际上不属于同一个句子中……@JaredSmith这是什么意思?JavaScript允许在许多情况下进行实时更新,例如,本网站使用WebSocket。@Jared JavaScript是少数绝对实时的语言之一,它使用所谓的JIT编译器,这意味着它不仅使用提供的代码实时运行,还使用它生成的代码实时运行,而且当涉及到事件时,所有发射器都是实时的,异常事件处理程序也是实时的。JavaScript的原始名称是Live Script,这是有原因的@JaredSmith所以您基本上是在挑剔和引用一个非常具体的细节,sure bud.DOM元素实现了
EventTarget
,它允许您通过使用
addEventListener
来监听事件。哦,我不知道输入是一种事件监听器。我试过了,效果完美无瑕。非常感谢:)它真的很整洁,但是仍然有一些实验性的特性。这里没有实验性的东西,很长一段时间以来它一直是规范的一部分。即使是我9岁的时候,我也不是在谈论这个事件本身