为了账号安全,请及时绑定邮箱和手机立即绑定

这个效果鼠标和键盘怎么才能搭配使用呢?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>键盘事件-按回车实现开始停止</title>
    <style>
    body,input{margin:0;padding:0;font-size:14px;font-family:"微软雅黑";}
    #text{color:red;font:bold 32px/38px "微软雅黑";width:500px;height:38px;text-align:center;margin:30px auto;}
    #box input{width:80px;font:16px/26px "微软雅黑";background:#036;color:#fff;float:left;margin-right:10px;border:none;border-radius:8px;text-align:center;cursor:pointer;}
    #box{height:26px;width:180px;margin:0 auto;}
    </style>
    <script>
        window.onload=function ()
        {
            var oText=document.getElementById('text');
            var oStart=document.getElementById('start');
            var oStop=document.getElementById('stop');
            var timer=null;
            var aText=['IPhone5s','IPad','三星笔记本','惠普打印机','吉列剃须刀','谢谢参与','50元电话卡','1000元超市购物卡'];
            var onOff=true;
            oStart.onclick=function ()
            {

                clearInterval(timer);
                timer=setInterval(getRandom,50);
                this.style.background='#999';
            }
            oStop.onclick=function (){
                clearInterval(timer);
                oStart.style.background='';
            }
        

            document.onkeyup=function (ev)
            {    
                var ev=ev||event;
                //alert(ev.keyCode) //回车是13
                if(ev.keyCode==13)
                {
                    if(onOff)
                    {
                        clearInterval(timer);
                        timer=setInterval(getRandom,50);
                        oStart.style.background='#ccc';
                    }
                    else
                    {
                        clearInterval(timer);
                        oStart.style.background='';    
                    }
                    onOff=!onOff;
                }
            }
            function getRandom()
            {
                var num=aText.length-1;
                oText.innerHTML=aText[Math.round(Math.random()*num)];
            }
        }
    </script>
</head>
<body>
    <div id="text">开始抽奖啦!</div>
    <div id="box">
        <input type="button" value="开 始" id="start">
        <input type="button" value="停 止" id="stop">
    </div>
</body>
</html>

正在回答

2 回答

你应该用的是IE浏览器吧,我用chrome是可以的。

document.onkeyup=function (ev) {    
    var ev = ev || window.event;    //这里的话是为了兼容IE,得用window.event
                
    if(ev.keyCode==13) {
        if(onOff) {
            clearInterval(timer);
            timer=setInterval(getRandom,50);
            oStart.style.background = '#ccc';
        } else {
            clearInterval(timer);
            oStart.style.background = '';    
        }
        onOff = !onOff;
     }
}

还有,如果鼠标点击了 “开始”,然后键盘按回车,就会出现BUG,没有马上停止,因为你在鼠标点击事件中也没有设置  onOff 值。

oStart.onclick=function() {
    clearInterval(timer);
    timer=setInterval(getRandom,50);
    this.style.background='#999';
    onOff = false;
}
oStop.onclick=function() {
    clearInterval(timer);
    oStart.style.background='';
    onOff = true;
}


0 回复 有任何疑惑可以回复我~
#1

阿伊舍999 提问者

我所有浏览器都测了,唉还是不能来回切换
2016-03-12 回复 有任何疑惑可以回复我~
#2

Lionis 回复 阿伊舍999 提问者

可能是我长得比较帅吧
2016-03-12 回复 有任何疑惑可以回复我~
#3

Lionis 回复 阿伊舍999 提问者

我这边是蛮正常的。
2016-03-12 回复 有任何疑惑可以回复我~
  1. 在 oStart.onclick=function ()  函数中添加: onOff = false;

  2. 在oStop.onclick=function ()  函数中添加: onOff = true;

0 回复 有任何疑惑可以回复我~
#1

阿伊舍999 提问者

多切换几回突然发现又不好使了
2016-03-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个效果鼠标和键盘怎么才能搭配使用呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信