javascript - 在 JavaScript 中点击并按住。有些东西不起作用

标签 javascript html tapandhold

我的小功能“点击并按住”有未知问题。谁能告诉我出了什么问题吗?感谢您的帮助。

<!DOCTYPE html>
<html>
<body>
<button id="seconds">30</button>

<script type="text/javascript">


var timeoutId = 0;

$('#seconds').on('mousedown', function() {
timeoutId = setTimeout(alert("something"), 1000);
}).on('mouseup mouseleave', function() {
clearTimeout(timeoutId);
});

</script>
</body>
</html>

最佳答案

问题是您的警报被立即调用。您需要将函数传递给 setTimeout,而不是调用函数。我已经重构了您的代码,使其成为一个函数,现在如果您不移动鼠标,警报将在 1 秒后显示。

var timeoutId = 0;

$('#seconds').on('mousedown', function() {
  timeoutId = setTimeout(function(){alert("something")}, 1000);
}).on('mouseup mouseleave', function() {
  clearTimeout(timeoutId);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="seconds">30</button>

关于javascript - 在 JavaScript 中点击并按住。有些东西不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944571/

相关文章:

javascript - 为表行的每个按钮执行 jQuery 逻辑

javascript - Gulp 未编译但出现错误 ReferenceError : runSequence is not defined

javascript - JQuery:检查输入的值

windows-phone-7 - 如何在 Listbox 中实现 Hold?

javascript - 滚动效果

html - 如何在 bootstrap 3 轮播中对齐多列?

javascript - 检查 localStorage 的值但显示未定义

javascript - 如何将 bool 值插入数组? "undefined"错误

windows-phone-7 - 点击并按住(长按)