JavaScript的事件对象_鼠标事件

鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备。那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等。

一、鼠标按钮

  只有在主鼠标按钮被单击时(常规一般是鼠标左键)才会触发 click 事件,因此检测按钮的信息并不是必要的。

  但对于 mousedown 和 mouseup 事件来说,则在其 event 对象存在一个 button 属性,表示按下或释放按钮。

  

<script type="text/javascript">
    window.onload = function(){
        document.onclick = function (evt) {
            var e = evt || window.event;             //实现跨浏览器兼容获取 event 对象
            alert(e.button);
        };
    };
</script>
</head>
<body>
    <input  type="button" value="按钮"/>
</body>

  在绝大部分情况下,我们最多只使用主次中三个单击键,IE 给出的其他组合键一般无法使用上。所以,我们只需要做上这三种兼容即可。

<script type="text/javascript">

    function getButton(evt) {                 //跨浏览器左中右键单击相应
        var e = evt || window.event;
        if (evt) {                 //Chrome 浏览器支持 W3C 和 IE
            return e.button;       //要注意判断顺序
        } else if (window.event) {
            switch(e.button) {
                case 1 :
                    return 0;
                case 4 :
                    return 1;
                case 2 :
                    return 2;
            }
        }
    }
    window.onload = function(){
        document.onmouseup = function(evt){ //调用
            if(getButton(evt) == 0) {
                alert(‘按下了左键!‘);
            }else if(getButton(evt) == 1){
                alert(‘按下了中键!‘);
            }else if(getButton(evt) == 2){
                alert(‘按下了右键!‘ );
            }
        };
    };
</script>

二、可视区及屏幕坐标

  事件对象提供了两组来获取浏览器坐标的属性,一组是页面可视区左边,另一组是屏幕坐标。

  

<script type="text/javascript">
    window.onload = function(){
        document.onclick = function (evt) {
            var e = evt || window.event;
            alert(e.clientX + ‘,‘ + e.clientY);
            alert(e.screenX + ‘,‘ + e.screenY);
        };
    };
</script>
</head>
<body>
    <input  type="button" value="按钮"/>
</body>

三、修改键

  有时,我们需要通过键盘上的某些键来配合鼠标来触发一些特殊的事件。

  这些键为:Shfit、Ctrl、Alt 和 Meat(Windows 中就是 Windows 键,苹果机中是 Cmd 键),它们经常被用来修改鼠标事件和行为,所以叫修改键。(结合鼠标)

<script type="text/javascript">
    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;
    }
    window.onload = function(){
        document.onclick = function (evt) {
            alert(getKey(evt));
        };
    };
</script>
时间: 2024-12-14 18:21:55

JavaScript的事件对象_鼠标事件的相关文章

JavaScript的事件对象_键盘事件

用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 keydown 和 keyup 事件时,event 对象的 keyCode 属性中会包含一个代码,与键盘上一个特定的键对应.对数字字母字符集,keyCode 属性的值与 ASCII 码中对应小写字母或数字的编码相同.字母中大小写不影响. <script type="text/javascript&q

JavaScript的事件对象_概述/this

JavaScript 事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能. 最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事件的捕获/冒泡流的函数. 一.事件处理三部分组成 对象.事件处理函数=函数.例如:单击文档任意处. click 表示一个事件类型,单击. onclick 表示一个事件处理函数或绑定对象的属性(或者叫事件监听器.侦听器). document 表示一个绑定的对象,用于触发某个元素区域. function

javaScript事件(五)事件类型之鼠标事件

一.事件 二.事件流 以上内容见:javaScript事件(一)事件流 三.事件处理程序 四.IE事件处理程序 以上内容见javaScript事件(二)事件处理程序 五.事件对象 以上内容见javaScript事件(三)事件对象 六.事件对象的公共成员 以上内容见javaScript事件(四)event的公共成员 七.鼠标事件 DOM3级事件中定义了9个鼠标事件. mousedown:鼠标按钮被按下(左键或者右键)时触发.不能通过键盘触发. mouseup:鼠标按钮被释放弹起时触发.不能通过键盘

简单总结焦点事件、Event事件对象、冒泡事件

每学习一些新的东西,要学会复习,总结和记录. 今天来简单总结一下学到的几个事件:焦点事件.Event事件对象.冒泡事件 其实这几个事件应该往深的说是挺难的,但今天主要是以一个小菜的角度去尝试理解一些基本的知识点. 1.焦点事件: 1.1概念理解: 想象场景:当一堆text文本框出现在面前,当点击其中一个文本框,它就会响应用户,并出现光标闪动(这时,点击令它获得焦点). 所以说:焦点事件是用来让浏览器区分哪一个对象是用户要进行操作(输入值.选择.跳转)的. 总结===>  浏览器(区分)哪一个对象

DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

事件对象——兼容处理 1 /* 2 * 功能: 事件对象兼容 3 * 参数: 表示常规浏览器的事件对象e 4 */ 5 function getEvent(e) { 6 7 // 如果存在e存在,直接返回,否则返回window.event 8 return e || window.event; 9 } 获取事件所对应的目标——兼容处理 1 /* 2 3 * 功能: 获取事件所对应的目标 4 5 * 参数: 表示常规浏览器的事件对象e 6 7 */ 8 9 function getTargetBy

React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定

1.案例实现代码 import React, { Component } from 'react'; /** * 事件对象.键盘事件.表单事件.ref获取dom节点.react实现类似Vue双向数据绑定 * 事件对象: 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息 * 表单事件: 获取表单的值 * 1.监听表单的改变事件 ---onChange * 2.在改变的事件里面获取表单输入的值 ---event * 3.把表单输入的值赋值给username

javascript中Document对象的常用事件

1.onabort事件:对象载入被中断时触发 2.onblur事件:元素或窗口本身失去焦点时触发. 3.onchange事件:改变<select>元素中的选项或者其他表单元素失去焦点,并且在其获取焦点后内容发生过改变时触发. 4.onclick事件:单机鼠标左键时候触发.当光变的焦点在按钮上,并且按下Enter键时,也会触发该事件. 5.onblclick事件:双击鼠标左键时候触发. 6.onerror事件:出现错误时候触发. 7.onfocus事件:任何元素或者窗口本身获得焦点时触发. 8.

JavaScript实现自定义对象的自定义事件

前言: 大家都知道,在使用JavaScript可以很方便的使用addEventListener函数给DOM对象快速绑定一个或多个事件侦听器. 我们又如何在JavaScript的自定义对象中使用此方法并触发事件呢?这就是本章节的核心内容了. 目的: 现在有一个需求,要求"a对象"能够让"b对象"做一系列动作. 分析后我们得知.首先,"b对象"有一个固定名称作为入口让a对象调用,并且这个入口可以自动检索所有符合这个动作要求的函数并依次触发. 实现:

css3 pointer-events 让对象如透明般直接响应下层对象的鼠标事件

引用:http://www.css88.com/book/css/properties/user-interface/pointer-events.htm 语法: pointer-events:auto | none | visiblepainted | visiblefill | visiblestroke | visible | painted | fill | stroke | all 默认值:auto 适用于:所有元素 继承性:有 动画性:否 计算值:指定值 取值: auto: 与poi