2017-7-21

作者: 毛毛i | 来源:发表于2017-07-21 21:27 被阅读0次

收获:

1. 键盘事件

  • onkeyUp 放开之前按下的键盘发生
  • onkeyPress 按下字符键才有作用,其他键没有作用
  • onkeyDown 按下键盘任何键都会发生
  • event对象的 keyCode 属性 获取键盘码

示例:
function(event){
console.log(event.keyCode);
}

  • 判断用户是否按下了特定的键,可以下获取这个键的键盘码,然后再进行 if 判断
if(event.keyCode == 40){
    ...
  }

感受:

今天做了一个小项目,键盘上下左右可以选择select里面的选项,并且按下回车的时候可以把内容换成 otion里面的内容,做出来很有成就感,也是感觉学到了很多,好多方法以前根本就想不到,现在可以用起来了。Good

打算:

  • 按照慕课网的教程把Github的课程看一遍

项目源代码:

   var otitle = document.getElementById("divselect"),
     oul = otitle.getElementsByTagName("ul")[0],
     olis = oul.getElementsByTagName("li"),
         ovalue = otitle.getElementsByTagName("cite")[0],
         index = -1;
window.onload = function(){
    //点击div时
    otitle.onclick = function(){
        stop();
        oul.style.display = 'block';
    }
     
    //滑过、点击li时
    for(var i = 0;i<olis.length;i++){
        //滑过
        olis[i].onmouseover = function(){
            this.style.background = '#ccc';
        }
        olis[i].onmouseout = function(){
            this.style.background = '#fff';
        }
        
        //点击li
        olis[i].onclick = function(){
            stop();
            oul.style.display = 'none';
            ovalue.innerText = this.innerText;
        }
    }
        //点击文档
        document.onclick = function(){
            oul.style.display = 'none';
        }
        
        //键盘事件
        document.onkeyup = function(event){
            for(var i = 0;i<olis.length;i++){
                olis[i].style.background = '#fff';
            }
            
            //向下
            if(event.keyCode == 40){
                index++
                if(index >= olis.length){
                    index = 0;
                }
                olis[index].style.background = '#ccc';
            }
            
            //向上
            if(event.keyCode == 38){
                if(index <= 0){
                    index = olis.length;
                }
                index--
                olis[index].style.background = '#ccc';
            }
            
            //点击
            if(event.keyCode == 13){
                oul.style.display = 'none';
                ovalue.innerText = olis[index].innerText;
                index=-1;
            }
        }
}

//阻止事件冒泡
function stop(event){
    event = event || window.event;
    event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true;
}

相关文章

  • 心怡美味

    心一洁 2017-7-21 20:45 俗言道‘’七月核桃八...

  • 简易博客(7日实训)

    2017-7-20 htmldiv+css可用表格进行排版 tr td 2017-7-21 jsp:request...

  • 2017-7-21

    1. 如约,闹钟准点响起,我这个起床困难户被这不依不饶的时间给说服了。给小家伙喂好早餐还得哄睡着,终于,时间到了七...

  • 2017-7-21

  • 2017-7-21

    感恩父母亲把我带到这个美好的世界 感恩强哥强嫂一早帮我搬完家,才去上班 感恩送床垫的师傅那么晚还帮忙送床垫过来 感...

  • 2017-7-21

    收获: 1. 键盘事件 onkeyUp 放开之前按下的键盘发生 onkeyPress 按下字符键才有作用,其他键...

  • 2017-7-21

    with the mission in mind League of Legends accomplished l...

  • 2017-7-21

    最近在看一部电视剧名字叫《我们的爱》故事的情节很现实,特别是演孩子的那几个情节都会让我很感触不由得就会伤心,不管一...

  • Android Studio依赖微信支付分享SDK失败

    2017-7-21 遇到的一点小问题 项目里使用到微信支付和分享的SDK,都是在build.gradle里通过c...

  • 2017-7-21 南风吹

    最近总梦旧人,外表总说嫌弃,难免伤怀。 梦里她说,我当初也不想这样对你。 他向我道歉。 我说,好的吧。过去的事总算...

网友评论

      本文标题:2017-7-21

      本文链接:https://www.haomeiwen.com/subject/obfykxtx.html