我想onmousedown行为像onkeydown维护调用函数



我创建了一个简单的函数,当您保持按下键时,它继续增加全局变量" 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为间隔时间,单位为毫秒。

最新更新