javascript - 在延迟后使用 jQuery 将字段聚焦在悬停上

标签 javascript jquery

我试图让一个字段在悬停时聚焦,但仅在 3 秒延迟之后。显然我做错了:

var timer;

function focusTimer() {
    timer = setTimeout(function () {
        $('#input').focus(),
        3000;
    })
}

$('#input').hover(function () {
    if (timer) {
        clearTimeout(timer);
    }
  
    focusTimer();
});
#input:focus {
    width: 500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input">

最佳答案

你做错了。

您将 3000 放在函数中。把它移到外面

timer = setTimeout(function () {
        $('#input').focus(),
        3000;
       ^^^^^^^
    })

应该是

timer = setTimeout(function () {
        $('#input').focus();
    },3000);

片段

var timer;

function focusTimer() {
    timer = setTimeout(function () {
        $('#input').focus();
        
    },3000)
}

$('#input').hover(function () {
    if (timer) {
        clearTimeout(timer);
    }
  
    focusTimer();
});
#input:focus {
    width: 500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input">

关于javascript - 在延迟后使用 jQuery 将字段聚焦在悬停上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45810006/

相关文章:

php - 具有链接困境的DataTables服务器端处理

javascript - 在 React 中为 HTML 标签生成随机类名时出现问题

javascript - 如何在 HTML 页面上实时动态显示多个行框上标题框中的文本?

php - 在进行下拉选择之前隐藏字段的搜索框

javascript - 从对象中获取 jquery 中选定选项的正确方法

javascript - 防止新的原型(prototype)方法出现在对象中的键的 for 循环中

javascript - 我如何在 "/dist/"文件夹中创建多输出文件夹 - Webpack

javascript - 通过 Typeahead.js 提供建议

JQuery:为什么使用不显眼的 JavaScript/Document Ready 函数而不是 OnClick 事件?

javascript - 在 Ember 中将模板数据存储为字符串