我创建了一个简单的函数,当您保持按下键时,它继续增加全局变量" I "。下面是源代码,非常简单:
<html>
<head>
</head>
<body>
<script type="text/javascript">
var i = 0;
document.body.onkeydown = function()
{
i++;
console.log(i);
};
</script>
</body>
</html>
现在,当我用onmousedown:
替换onkeydown时,我想要相同的效果<html>
<head>
</head>
<body>
<script type="text/javascript">
var i = 0;
document.body.onmousedown = function()
{
i++;
console.log(i);
};
</script>
</body>
</html>
=>但是它不起作用,因为控制台只显示一次i值。
你有主意吗?
这个不工作的原因是你认为它应该是因为onkeydown事件有点奇怪,因为它不只是' '在键下,但也在间隔之后。
然而,Onmousedown只在鼠标down上,所以要模拟相同的行为,你必须做一些类似
的事情<script>
var i=0;
var dt=100;
var interval;
document.body.onmousedown = function(){
interval = setInterval(function(){i++;console.log(i);},dt)
}
document.body.onmouseup = function(){
clearInterval(interval);
}
</script>
其中dt为间隔时间,单位为毫秒。