我创建了一个简单的函数,当你按下一个键时,它继续递增全局变量“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>
=&GT;但它不起作用,因为控制台显示一次i值。
你有个主意吗?提前谢谢。
答案 0 :(得分:1)
这不起作用的原因是因为onkeydown事件有点奇怪,因为它不仅仅是关键向下,而是在之后的时间间隔。
Onmousedown然而只有鼠标向下,所以要模拟你需要做的事情
<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是向i添加值之间的时间(以毫秒为单位)。