Javascript事件对象

Posted

tags:

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

如果是事件处理函数绑定的函数,浏览器会默认传递一个参数,而这个参数就是事件对象。

document.onclick = function() {
    alert(arguments.length);        //1
}

 因为arguments[0]这样使用这个参数比较麻烦,所以我们可以传递一个参数evt来进行使用。

document.onmouseup = function(evt) {
    var e = evt || window.event;
    alert(e.button); //0为鼠标左键,1为滚轮,2为右键
    //基于浏览器可视区左上角的位置
    alert(e.clientX + ‘,‘ + e.clientY);
    //机器的分辨率
    alert(window.screen.width + ‘,‘ + window.screen.height);
    // 离屏幕左上角的位置
    alert(e.screenX + ‘,‘ + e.screenY);
}
//侦测按键
document.onclick = function(evt) {
    alert(getKey(evt));
}

function getKey(evt) {
    var e = evt || window.event;
    var keys = [];

    if (e.shiftKey) {
        keys.push(‘shift‘);
    }
    if (e.ctrlKey) {
        keys.push(‘ctrl‘);
    }
    if (e.altKey) {
        keys.push(‘alt‘);
    }

    return keys;
}

 

//键盘事件,keydown是按下任意键,keyup是弹起任意键,keypress按下字符键触发

//键码:键盘上任意键,全兼容
//字符编码:可以输出的字符的键,IE不兼容

document.onkeydown=function(evt){
        var e = evt || window.event;
        alert(e.keyCode);        //keyCode返回键码
    }

document.onkeypress = function(evt) {
        var e = evt || window.event;
        alert(e.charCode);         //charCode返回字符键码
    }


document.onclick = function(evt) {
        var e = evt || window.event;
        alert(e.target.innerhtml);         //点到哪里target就选中哪个元素
    }

 

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

常用Javascript代码片段集锦

VSCode自定义代码片段——JS中的面向对象编程

JavaScript单行代码,也就是代码片段

VSCode自定义代码片段9——JS中的面向对象编程

Reactreact概述组件事件

JavaScript期末复习