javascript - 将 'setTimeout' 分配给 'variable.oniput'

标签 javascript

尝试创建一个函数,当输入字段中的文本发生更改时,该函数将在 1 秒后运行。

这有效:

var foo = document.querySelector("#input");
foo.oninput = theWrapper;
function theWrapper() {
    setTimeout(function() {
        myFunction();
    }, 1000);
}

但事实并非如此,为什么?

var foo = document.querySelector("#input");
foo.oninput = setTimeout(function() {
    myFunction();
}, 1000);

最佳答案

正确的翻译是

var foo = document.querySelector("#input");
foo.oninput = function(){ setTimeout(function() {
    myFunction();
}, 1000)
};

oninput 应该是一个函数,但您分配的是一个数字,表示所设置的计时器的 ID 值。

关于javascript - 将 'setTimeout' 分配给 'variable.oniput',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34489796/

相关文章:

javascript - 如何将 env 映射添加到 gltf 对象上

javascript - 衡量用户在网站访问期间花费的时间

javascript - 按钮打开特定的 Accordion 选项卡

javascript - JQuery .prop() 和 .attr() setter 不适用于对话框 polyfill

javascript - 旋转后查找矩形的顶点

javascript - 如何在 mongodb 中查询对象数组

javascript - javascript 函数未设置值

javascript - 在 componentWillUnmount 中调用时 removeEventListener 不起作用

windows - 如何在 Windows 中检查用户帐户是否存在(在本地计算机上)?

javascript - 隐藏css3多行省略号在没有用处时阅读更多链接