checkbox选中触发事件_事件种类及事件对象的属性

1事件类型的种类1.1鼠标事件
事件名说明
click单击
dblclick双击
mouseover鼠标移入
mouseout鼠标移出
mousemove鼠标移动(会不停的触发)
mouseenter鼠标移入
mouseleave鼠标移出

这里也可以看下之前jQuery里的文章《jQuery里的事件》

1.2键盘事件

键盘事件多用于表单元素里,全局window

事件名说明
keydown键盘按下(如果按下不松手会一直触发)
keyup键盘抬起
keypress键盘按下(只支持字符键,如ctrl)
1.3HTML事件

1.window事件

事件名说明
load页面加载完触发
unload页面解构(刷新页面,关闭页面)时触发
scroll页面滚动
resize窗口大小发生变化时触发

2.表单事件

事件名说明
blur失去焦点触发
focus获得焦点触发
select当我们在输入框选中文本时触发
change当我们对输入框修改且失去焦点时触发
submit表单提交时触发
reset表单重置元素时触发
2获取当前鼠标位置

获取当前鼠标位置的属性有如下表所示,但是他们的区别是原点位置(参照物)不一样。

原点位置
clientX  clientY 可视窗口的左上角为原点   
pageX  pageY 整个页面的左上角(包含滚出去的滚动距离)
screenX   screenY 电脑屏幕的左上角
事件对象的获取方法都是在一个事件的回调中先传个形参,然后 var   e  =  ev  ||  window . event ; 这里window.event是为了兼容IE8以下,这样变量e鼠标事件里的各种属性了,从而我们可以方便的操作鼠标事件。
<html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>鼠标事件title>    <script>        window.onload = function () {            /*事件对象:              button的属性              0 左键 1 滚轮 2 右键           */            /*            获取当前鼠标位置(原点位置不一样)            clientX clientY 原点位置:可视窗口的左上角为原点            pageX pageY 原点位置:整个页面的左上角(包含滚出去的滚动距离)            screenX screenY 原点位置:电脑屏幕的左上角                */            document.onmousedown = function (ev) {                var e = ev || window.event;  // 事件对象的获取方法                //alert(e.button); 点击鼠标左键弹出0 点击鼠标右键弹出2                // alert(e.clientX + "," + e.clientY);                // alert(e.pageX + "," + e.pageY);                alert(e.screenX + "," + e.screenY);            }        }script>head><body>body>html>

小练习:

<html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Documenttitle>    <style>        a {            display: block;            font-size: 40px;            margin: 100px;            width: 130px;        }        #msg {            width: 500px;            height: 150px;            background: gray;            color: white;            display: none;            position: absolute;        }style>    <script>        window.onload = function () {            var arr = ['唐太宗', '唐高祖', '武则天', '唐玄宗'];            var aAs = document.getElementsByTagName("a");            var oMsg = document.getElementById("msg");            console.log(aAs);            for (var i = 0; i < aAs.length; i++) {                aAs[i].index = i;                aAs[i].onmouseover = function () {                    oMsg.innerHTML = arr[this.index]                    oMsg.style.display = 'block'                }                aAs[i].onmouseout = function () {                    oMsg.style.display = "none";                }                //添加鼠标移动事件                aAs[i].onmousemove = function (ev) {                    var e = ev || window.event;                    oMsg.style.left = e.clientX + 5 + "px";                    oMsg.style.top = e.clientY + 5 + "px";                }            }        }script>head><body>    <a href="#">唐太宗a>    <a href="#">唐高祖a>    <a href="#">武则天a>    <a href="#">唐玄宗a>    <div id="msg">div>body>html>

  当鼠标移上"唐太宗"几个字的时候,结果如下,移出时它就不显示。

c41d2e9cc109f24ed759f760c804f8ae.png

3事件对象的属性

事件对象有属性shiftKey、altKey、ctrlKey、metaKey,其作用是和别的快捷键进行组合,形成一些快捷键操作。

属性名说明
shiftKey

按下shift键,为true,默认为false

altKey

按下alt键

ctrlKey

按下ctrl键

metaKey

 windows系统下按下开始键,macos系统下按下command

            事件对象的属性            /*         shiftKey 按下shift键,为true,默认为false         altKey 按下alt键         ctrlKey 按下ctrl键         metaKey windows系统下按下开始键,macos系统下按下command键         【注】和别的快捷键进行组合,形成一些快捷键操作。        */        window.onload = function () {            document.onmousedown = function (ev) {                var e = ev || window.event;                var arr = [];                if (e.shiftKey) {                    arr.push("shift")                }                if (e.altKey) {                    arr.push("alt")                }                if (e.ctrlKey) {                    arr.push("ctrl")                }                if (e.metaKey) {                    arr.push("windows")                }                alert(arr)            }        }

当我按下键盘上的alt和ctrl键点击屏幕之后,会弹出

469bf0472dc54a1c58c5aa63aabe5933.png

因此可以通过这些属性判断用户按了哪些键。

除此之外还有keyCode键码属性和charCode字符码属性。

keyCode 键码

返回值:键码返回的是大写的ASCII码值,不区分大小写。

使用格式:var which = e.which || e.keyCode;

【注】只在keydown下支持。

事件对象的属性            /*         keyCode 键码         返回值:键码返回的是大写的ASCII码值,不区分大小写。         使用格式:var which = e.which || e.keyCode;         【注】只在keydown下支持。        */        window.onload = function () {            window.onkeydown = function (ev) {                var e = ev || window.event;                var which = e.which || e.keyCode;                alert(which);            }        }

当我按下键盘上的大写A和小写a时都弹出的是大写A对应的ASCII码值65,也就是不区分大写,结果一样。

charCode  字符码

返回值:字符码返回的是当下键区分大小写的ASCII码值

使用格式:var which = e.which || e.charCode;

【注】只在keypress下支持,只支持字符键,不支持ctrl,shift这些键。

<html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>事件对象的属性title>    <script>        /*         charCode 字符码         返回值:字符码返回的是当下键区分大小写的ASCII码值         使用格式:var which = e.which || e.charCode;         【注】只在keypress下支持,只支持字符键,不支持ctrl,shift这些键。        */        window.onload = function () {            window.onkeypress = function (ev) {                var e = ev || window.event;                var which = e.which || e.charCode;                alert(which);            }        }script>head><body>body>html>

当我按下小写的a时弹出其对应的ACSII码值97,当我按下大写的A时弹出其对应的ACSII码值65