JS-事件对象(鼠标键盘事件)
一 事件对象
1 需要获取键盘和鼠标的信息的时候,用到事件对象。(e)
例如:document.onclick = function(e){
var e = e || event;(做兼容)
}
注意:由于事件对象有兼容性,在IE中传不传参数无所谓,但是输出的参数必须是event。
2 查看用户点击了鼠标的那个键:e.button
e.button == 0:代表左键 1:代表滚轮 2:代表右键
3 事件对象 坐标
clientX clientY 可视区的x和y坐标;(可视区可以肤浅理解为一屏的body)
offsetX offsetY 当前元素自身身上的坐标;(相对于第一个定位父级)
pageX pageY 页面的坐标(包括滚动条);
screenX screenY 屏幕的坐标;(整个电脑的屏幕);
4 键盘中onkeydown和onkeyPress区别
前者按键盘上的任意字符都可以,后者只能识别字母和数字以及一些常用字符;
后者不支持ALT和SHIFT键;
前者回车键的ASCII码的值是13,后者是10。
5 如何知道用户按下了哪个键
e.keyCode (兼容) e.which (返回值是ASCII码);
需要的话可以用String.fromCharCode 将ASCII码转化为字符进行操作;
二 事件监听
addEventListener()三个参数;
第一个参数是事件名称,不需要加 on ,但是事件要用引号括起来;
第二个参数是回调函数;
第三个参数是布尔值,一般情况是false,true代表是捕获。
三 事件冒泡
1 IE提出来的事件冒泡。什么是事件冒泡?
从子元素的事件到父元素的事件依次执行的一个过程就是事件冒泡。
2 如何阻止事件冒泡:
e.stopPropagation()兼容e.cancelBubble = true;
四 事件捕获
1 网景公司提出来的。什么是事件捕获?
从父元素的事件到子元素的事件依次执行的一个过程就是事件捕获。
2 注意:IE是事件冒泡,火狐是事件捕获。
3 当事件冒泡遇到事件捕获的时候会先捕获再冒泡。
五 事件代理(事件委托)
1 利用事件冒泡的机制将子元素的事件加到父级身上。
2 事件代理优点:
减少了dom的绑定,提高了性能;
可以给未来的元素添加事件。
3 查看用户点击了那个对象?
e.srcElement 兼容 e.target (返回的是大写字符);
JS-事件对象(鼠标键盘事件)的更多相关文章
- React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
1.案例实现代码 import React, { Component } from 'react'; /** * 事件对象.键盘事件.表单事件.ref获取dom节点.react实现类似Vue双向数据绑 ...
- 常用MouseEvent鼠标事件对象&KeyboardEvent键盘事件对象&常用键盘码
MouseEvent鼠标事件对象: e.target //=> 事件源(操作的是哪个元素) e.clientX e.clientY //当前鼠标触发点距离当前窗口左上角的X|Y轴坐标 e.pag ...
- JavaScript的事件对象_键盘事件
用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...
- js进阶 12-4 jquery键盘事件如何使用
js进阶 12-4 jquery键盘事件如何使用 一.总结 一句话总结:键盘和鼠标都是外设输入设备,所以函数很像,所以使用就像鼠标事件click一样 1.jquery键盘事件有哪三个? 1(up和do ...
- Tkinter 鼠标键盘事件(一)
一: 鼠标事件 <Button-1> 鼠标左键单击 ...
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- Python——pyHook监听鼠标键盘事件
pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...
- Python - selenium_WebDriver 鼠标键盘事件
from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...
- Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)
一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...
- 简单总结焦点事件、Event事件对象、冒泡事件
每学习一些新的东西,要学会复习,总结和记录. 今天来简单总结一下学到的几个事件:焦点事件.Event事件对象.冒泡事件 其实这几个事件应该往深的说是挺难的,但今天主要是以一个小菜的角度去尝试理解一些基 ...
随机推荐
- 第一类对象-> 函数名 -> 变量名
函数对象对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递 # def fn(): # print("我叫fn") # fn() # ...
- 安装hyperledger fabric V1.0.0-beta
安装文档位置: https://github.com/hyperledger/fabric fabric代码托管地址 https://hyperledger-fabric.readthedoc ...
- smfony
1.smfony设置量表之间的关系 2.smyfony2-curd-数据库创建 3.smyfony2 增删改查 4. 5. 6.
- yarn 日志查看
1. yarn 日志列表 yarn application -list 2. impala-shell impala-shell -q 'invalidate metadata' ## impala ...
- spring mvc 常见错误
1 返回400, —— 请求参数不正确 2 返回406, HTTP ERROR: 406 NOT_ACCEPTABLE ———— @RequestMapping(value = "/user ...
- Flex学习笔记--多层菜单按钮
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- 16.linux常用查看命令
cat :查看整个文件tail -200f abc.txt :查看abc.txt的最后200行
- Crontab 删除N天前日志
linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...
- 如何禁用Firefox,chrome浏览器“不安全密码警告”
在任何HTTP页面中,一个全新的“不安全密码警告”将会在用户点击表单时直接出现在登陆框的下方,强行保证所有用户都能看到“此链接不安全,你的个人利益将受到损害”等字眼,同时整个页面也会收到损坏的挂锁图标 ...
- 固定顶部指定div不滑动
.fixed_div { position:fixed; z-index:100; top: 45px; width:100%; height:45px; } 指定div设置属性position:fi ...