javascript - js中如何实现鼠标长按连续触发?
巴扎黑
巴扎黑 2017-04-11 10:00:09
[JavaScript讨论组]

现在有一个需求,长按'+'或者'-'按钮,数值不停增加如下图:

而我在使用onMouseDown的时候,发现事件只会被触发一次,不能实现持续增加,请问要如何实现这个需求?

巴扎黑
巴扎黑

全部回复(4)
大家讲道理

mousedown的时候启动一个setInterval。200ms把宽度增加+1,mouseup的时候cancel掉。 就这么简单。

PHP中文网
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<button id="button">0</button>
<script type="text/javascript">
    var c = 0;
    var tid;
    var btn = window.document.getElementById("button");
    btn.onclick = function(e){
        c++;
            btn.innerHTML = c;
    };
    btn.onmousedown = function(e){
        tid = setInterval(function(){
            c++;
            btn.innerHTML = c;
        },500);
    };
    btn.onmouseup = function(e){
        clearInterval(tid);
    }
    btn.onmouseout = function(e){
        clearInterval(tid);
    }
</script>
</body>
</html>
伊谢尔伦

可以在按下的时候触发事件,同时增加一个定时器,不断触发该事件;在鼠标抬起的时候清楚定时器

伊谢尔伦

一楼正解。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号