javascript - 在利用button标签时,鼠标事件和键盘事件切换会出错?
習慣沉默
習慣沉默 2017-05-18 10:54:36
[JavaScript讨论组]

做了一个抽奖的小东西,开始和停止的按钮是button标签的。当我用鼠标按下开始,输入完人数之后,按回车暂停是可以的,但再按一次回车会开始后瞬间停止,而不是我再按一次回车才结束,如果不用button标签的话是可以的,又或者是我先点击了一下页面再按回车也不瞬间停止,想知道为什么?

代码:



抽奖


抽奖XD

1


習慣沉默
習慣沉默

全部回复(3)
天蓬老师

点击一次button之后,焦点就定位到了button上,此时每次按回车,button都就会被点击两次。换成span就不会出现焦点的问题

怪我咯

原理如楼上所说,补充下答案。

function playFun (e){
    e && e.target.blur()
    if(!num){
    num = window.prompt("参加这次抽奖的人数:");
    if(!num){
        playFun();
        }
    }
    clearInterval(timer);
    timer = setInterval(function(){
        var random = Math.floor(Math.random()*num+1);
        showNum.innerHTML=random;
    },50);
    showNum.style.background = '#FFF';
    showNum.style.color = '#000';
    flag=1;
}
function stopFun (e){
    e && e.target.blur()
    clearInterval(timer);
    showNum.style.background = '#000';
    showNum.style.color = '#FFF';
    flag=0;
}
PHP中文网

焦点在按钮上的时候, 按下enter就相当于一次鼠标左键点击.
还有, button标签是不被建议使用的, 所以直接替换掉不用犹豫

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

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