事件类型-基本事件

一、UI事件

load 当页面完全加载后在window上触发图片也可以触发load事件

resize 当窗口大小变化时在window上触发

scroll 当用户滚动带滚动条的元素中的内容时,在该元素上面触发

二、鼠标事件

1、事件类型

onclick 单击

ondblclick 双击

oncontextmenu 右键菜单

onmouseover 移入

onmouseout 移出

onmouseenter 移入

onmouseleave 移出

onmousedown 按下

onmouseup 抬起

onmousemove 移动

使用enter和leave  是因为 over和out 在进入、移出子级时会触发

代码

这种的是不适合的!!!!


window.onkeydown = function(e){
            var l = dOk.offsetLeft;
            var t = dOk.offsetTop;
                if(e.keyCode === 37){
                    l-=5;
                 }else if(e.keyCode === 38){
                    t-=5;
                 }else if(e.keyCode === 39){
                    l+=5;
                 }else if(e.keyCode === 40){
                    t+=5;
        }
                  dOk.style.left = l +"px";
                  dOk.style.top = t+"px";
        }

合适的代码如下:

//合适的打开方式 计时器+状态

    var isLeft = false;
    var isTop = false;
    var isRight = false;
    var isBottom = false;

    //计时器
    var timer = null;

    //键盘事件:只修改状态
    window.onkeydown = function(e){
        if(e.keyCode === 37){
            isLeft = true;
        }else if(e.keyCode === 38){
            isTop = true;
        }else if(e.keyCode === 39){
            isRight = true;
        }else if(e.keyCode === 40){
            isBottom = true;
        }
    }

    window.onkeyup = function(e){
        if(e.keyCode === 37){
            isLeft = false;
        }else if(e.keyCode === 38){
            isTop = false;
        }else if(e.keyCode === 39){
            isRight = false;
        }else if(e.keyCode === 40){
            isBottom = false;
        }
    }
    
    //通过计时器实现移动
    timer = setInterval(function(){
        var l =dOk.offsetLeft;
        var t =dOk.offsetTop;

        if(isLeft){ l-=5;}
        if(isTop){ t-=5;}
        if(isRight){ l+=5;}
        if(isBottom){ t+=5;}

        dOk.style.left = l +"px";
        dOk.style.top = t+"px";
    },30)

2、坐标位置

相对于Body:   clientX 表示事件发生时鼠标指针在视口中的水平坐标

                       clientY 在视口中的垂直坐标

三、键盘事件

keydown  当用户按下键盘上的任意键时触发,按住不动将重新触发

keyup  当用户释放键盘上的键时触发

event.keyCode 键码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值