事件分类

事件分类

鼠标事件:click,mousedown,mousemove,mouseup,contextmenu,mouseover,mouseout,mouseenter,mouseleave

用button区分左右键
onmousedown,onmouseup 利用e.button==2为右键区分(DOM3标准规定: click事件只能监听左键, 只能通过mousedown和mouseup来判断鼠标键)
1.鼠标左键 button = 0
2.鼠标右键 button = 2
3.鼠标滑轮 button = 1

div.onmousedown = function (e) {
    var event = e || window.event;
    if(event.button == 2){
        console.log('right');
    }else if(event.button == 0){
        console.log('left');
    }
}

解决mousedown和click的之间的冲突 (利用事件发生时间来判断 点击事件时间短)
(实现一个物体又可以拖拽又可以点击)

var key = false;//设置了一个标志 false为点击事件 ture为鼠标移动事件
var firstTime = 0;
var lastTime = 0;
div.onclick = function() {
    if(key){
        console.log('click');
        key = false;
    }
}
div.onmousedown = function() {
    firstTime = new Date().getTime();
    console.log('mouseDown');
}
div.onmouseup = function() {
    console.log('mouseUp');
//鼠标抬起后 记录时间 超过200ms就是移动事件
    lastTime = new Date().getTime();
    if( (lastTime - firstTime) < 200){
        key = true;
    }
}

键盘事件
keydown 、keyup、keypress
keydown>keypress>keyup
keydown和keypress区别:
keydown可以响应任意键盘案件。
keypress只可以字符类键盘按键,keypress返回的是ASCII码,可以转为相应的字符。

键码:event.keyCode
会发生在keydown和keyup事件时,event对象的keycode属性中会包含一个代码,与键盘上一个特定的键对应。
字符编码
keypress事件会影响到屏幕中文本显示。event对象支持charCode属性。

跨浏览器获取字符编码

getCharCode:function(event){
   if(typeof event.charCode=='number'){
       return event.charCode;
    }else{
       return event.keyCode;
    }
}

文本操作事件
input / focus / blur / change

窗体操作类(window上的事件)
scroll load

支持onload()事件的标签
body 、frame’frameset、iframe、img、script、link

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值