如何知道用户一直按住鼠标按钮(网页上的任何位置)多长时间?我想在用户按住鼠标按钮至少2-3秒后执行一个功能(最好在进程中取消鼠标按下)。这可能吗?使用JavaScript/jQuery的Mousedown计时器
1
A
回答
14
在这里你去:
$(window).mousedown(function(e) {
clearTimeout(this.downTimer);
this.downTimer = setTimeout(function() {
// do your thing
}, 2000);
}).mouseup(function(e) {
clearTimeout(this.downTimer);
});
1
不用手我会试用$("body").mousedown(function(){})
使用jQuery和$("body").mouseup(function(){})
。我想你可以启动一个定时器,它会在2到3秒内调用函数。如果mouseup
事件发生,那么您可以取消定时器。您可以使用一个简单的脚本来测试它,但是您可能需要查看可能由于在页面上单击了链接或按钮而发生了click
的情况。但作为一个起点,我会尝试$("body").mousedown
和$("body").mouseup
。如果我有机会,我会看看我是否可以发送代码示例。
0
试试这个:
function WhateverYoudLikeToExecWithinNext3Seconds(){
// Code goes here.
}
element.addEventListener('mousedown', function(){
setTimeout(function(){WhateverIdLikeToExecWithin3Seconds();}, 3000);
}, false);
0
退房这一个。 http://jsfiddle.net/b1Lzo60n/
Mousedown启动一个计时器,检查鼠标在1秒后是否仍然关闭。
<button id="button">Press me</button>
<div id="log"></div>
代码:
var mousedown = false;
var mousedown_timer = '';
$('#button').mousedown(function(e) {
mousedown = true;
$('#log').text('mousedown...');
mousedown_timer = setTimeout(function() {
if(mousedown) {
$('#log').text('1 second');
}
}, 1000);
}).mouseup(function(e) {
mousedown = false;
clearTimeout(mousedown_timer);
$('#log').text('aborted');
});
相关问题
- 1. MouseDown和计时器的组合
- 2. 如何在jQuery中使用mousedown控制计时器?
- 3. HTML onClick VS jQuery mousedown计时
- 4. 暂时禁用mouseDown
- 5. 使用计时器
- 6. 使用javascript的mousedown事件
- 7. 使用javascript的计时器
- 8. 使用PHP的计时器
- 9. 暂停计时器后计时器的使用时间
- 10. 如何使用计时器计算累加器计时器的算法?
- 11. 使用touchstart还是mousedown?
- 12. 如何在不再使用计时器时打破计时器
- 13. 使用倒数计时器
- 14. 如何使用计时器?
- 15. 使用Backgroundworker与计时器
- 16. 如何计算jouery中mousedown事件的时间?
- 17. 的MouseDown上WPF - 使用的ScrollViewer
- 18. 禁用NSView mousedown
- 19. 按下按键时使用计时器
- 20. mousedown后触发器输入
- 21. 使用EventMachine定期计时器的可靠计时
- 22. 的Javascript计时器使用多次在
- 23. 使用帧计时器的Raphaël动画
- 24. 使用jquery触发我的计时器
- 25. 使用Ajax和mysql的计时器
- 26. 使用golang实现python的计时器
- 27. 在mvc中使用Javascript的计时器
- 28. 使用计时器的动画?
- 29. 使用计时器移动的PictureBox
- 30. 使用MySQL的现场计时器(&php)
完美,谢谢! – 2011-05-22 22:19:54