前端无处不在的事件

关于事件,可以说是不管任何语言都存在,只要涉及到交互上,比如:点击,鼠标移入移出,点击关闭,滚动页面,改变视窗大小等。

事件包括: 鼠标事件,表单事件,系统事件,键盘事件,自定义事件....

鼠标事件: 

1) onclick   鼠标点击事件

2) onmouseover  鼠标移入事件

3) onmouseout  鼠标移出事件

4) onmousemove  鼠标抚摸事件(鼠标)

5) onmouseup

6) onmousedown

.........

语法:

目标元素 . 事件行为. 函数(要执行的命令)


介绍了事件就不得不提DOM的操作事件绑定方法,事件所包含的比较特点的 :  addEventListener , removeEventListener 。

为什么要这么用,其实也就是为了避免在协同办公中的一些影响问题。

举个例子:  点击变色

//样式部分
<style>
#box{
        height: 300px;
        background: red;
}
style>

//代码部分
<body>
<div id="box">div>
    <input type="button" id="btn" value="按钮"/>
        
    <script>
        var btn = document.getElementById('btn');
        var box = document.getElementById('box');
            
        btn.onclick=function(){
            if(box.style.background == "red"){
                box.style.background = "blue";
            } else(box.style.background="blue"){
                box.style.background = "red";
            }
        }
        script>
body>

这个是简单的点击事件,如果换成事件绑定应该如何操作呢?

<script>
var btn = document.getElementById('btn');
        var box = document.getElementById('box');
        var on = false;
        var handle = function(){
        box.style.backgroundColor = on ? 'red' : 'blue';
        on = !on;
};
                
btn.addEventListener('click',handle,false);
script>

事件绑定的语法

元素. addEventListener(type事件类型,handle函数(命令),false事件冒泡(默认)) 

意思是新增一个事件,这里有个好处可以事件无限的绑定。

元素.removeEventListener(type , handle)   移除一个绑定事件;

stopPropagation() 停止事件执行,举个例子:

btn.addEventListener('click',function(event){
     event.stopPropagation();
},false)

上述代码的event 为事件对象


以上述代码为例,事件的模型顺序

上古时代分为 ‘事件冒泡’ 和  '事件捕获';

事件冒泡:  Element button → Element div → Element body →  Element Html →  Document

事件捕获:  Document →  Element Html →  Element body →  Element div →  Element button

这些都已经过时了,目前主流的模型顺序是如何的呢?

事件捕获 → 目标 → 事件冒泡

(事件捕获)Document →  Element Html →  Element body →  Element div (结束)       Element button (目标)  → Element div → Element body →  Element Html →  Document (事件冒泡)


Pritce:

1、事件包含哪些类型?

2、绑定事件的方法是哪些?

3、绑定事件有什么好处?

4、正常的事件模型是如何的?


你可能感兴趣的:(事件)