事件细分

Posted y-dt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件细分相关的知识,希望对你有一定的参考价值。

鼠标相关事件执行顺序

与 onmousedown 事件相关连得事件发生次序( 鼠标左侧/中间 按钮):

  1. onmousedown
  2. onmouseup
  3. onclick

与 onmousedown 事件相关连得事件发生次序 (鼠标右侧按钮):

  1. onmousedown
  2. onmouseup
  3. oncontextmenu

区别拖拽和点击

通过鼠标按键间隔来区分

var firstTime = 0;
var lastTime = 0;
var key = false;
document.mousedown = function(){
    firstTime = new Date().getTime();
    drap...;//执行拖拽
}

document.onmouseup = funciton(){
    lastTime = new Date().getTime();
    if(lastTime - firstTime < 300){
        key = true;
    }
}
document.onclick = function(){
    if(key){
        console.log(‘click‘);
        key = false;
    }
}

mousedown&mouseup与click的小差别

mousedown和mouseup的event对象可以通过button属性区分鼠标左中右键。而click无法区分右键,因为右键无法触发click事件。

键盘相关事件执行顺序

与 onkeydown 事件相关联的事件触发次序:

  1. onkeydown
  2. onkeypress
  3. onkeyup

keydown和keypress的小区别

  • keydown可以响应任意键盘按键,keypress只可以响应字符类键盘按键。

  • keypress返回ASCII码,可以转换为相应字符。

如果监听字符类按键并且要区分大小写,用keypress

document.onkeypress = function(){
    console.log(String.fromCharCode(e.charCode));
}

如果操作类按键就用keydown

oninput和onchange

oninput通过内容变化来触发

onchange通过聚焦和失焦两个状态下input的value值是否有差别来触发。

以上是关于事件细分的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

如何使用事件侦听器来加载动画片段的循环

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

C#常用代码片段备忘

从活动中调用片段事件

选择选项卡片段时触发啥事件