作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在用户单击按钮时连续将 +1 添加到文本输入字段的值。
简化后,我的 JQuery 代码是这样的:
$('#button').on({
mousedown : function () {
var value = $(this).val();
$(this).val(value + 1);
},
mouseup : function () {
//Some other stuff here
}
});
每次用户单击按钮时都会起作用。我想要的是,如果用户按住按钮,mousedown 事件每 0.2 秒触发一次,直到他停止按下(并且 mouseup 事件触发)。
我认为这应该以某种方式通过 setTimeout() 完成,但如果有人向我展示如何操作,我会很高兴。谢谢。
最佳答案
使用setInterval
和clearInterval
:
var interval;
$('#button').on({
mousedown : function () {
var el = $(this);
el.val(parseInt(el.val(), 10) + 1);
interval = window.setInterval(function(){
el.val(parseInt(el.val(), 10) + 1);
}, 200);
},
mouseup : function () {
window.clearInterval(interval);
}
});
但是,不可能像每 0.2 毫秒那样频繁地运行,我想你的意思是每 0.2 秒......
关于javascript - 每 0.2 秒运行一次 mousedown 事件,直到鼠标松开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925755/
对不起: 我只是不知道如何链接这些连续的操作? 鼠标按下然后拖动然后松开。如果用户不执行此操作,则不会发生某些操作... 我是否应该添加代码,因为已经按下了区分它? 常量 MOUSE_MOVED 不起
我正在尝试使用 native javascript - 没有 jQuery,也就是说。捏合和松开但不适用于缩小/放大。它在 iOS 和 android 上使用触摸等很好。但我不知道如何为我的 Mac-
我是一名优秀的程序员,十分优秀!