【JavaScript】笔记-事件-事件处理

什么是事件?事件是浏览器内触发的信号

事件的触发:浏览器本身发生的事件

客户端中的浏览器负责监听事件,事件触发时,通过事件处理程序进行处理

事件结合dom可提高网页交互性

事件处理的三要素:

(1)事件源:发生事件的元素节点,document,window

(2)事件类型:监听事件源的哪个事件发生

(3)事件处理程序:事件发生时执行的程序代码块

一,事件处理的方式

总共有三种,这里我只说推荐的事件处理方法

事件监听器:

节点.addEventListener('事件',回调函数,[捕获])

优点:

(1)一个元素的一个事件可绑定多个事件处理程序。

(2)支持事件流的捕获阶段(第三个参数为true)和冒泡阶段(第三个参数为false或省略)

(3)DOM开头的方式只能用这种方式

例:

<a href="#" id="c">刷新</a>
function getIt(){ ; }
function setIt(){ ; }
let el=document.querySelector('a');
el.addEventListener('click',getIt); 
el.addEventListener('click',setIt);

二,事件处理程序

事件处理程序有具名,匿名,箭头函数

事件处理函数若是具名或匿名函数,this表示绑定事件处理函数的元素引用,

                       若是箭头函数,勿用this

匿名或者箭头函数:适用于事件处理程序只在这用一次。

例:

<a href="#" id="c">刷新</a>
let el=document.querySelector('a');
el.addEventListener('blur',function(){
this.innerHTML='你好';
});

三,具名函数(适用于事件处理程序可能被使用多次的情况)

函数无参数时,只能写函数名,否则是立刻调用。

函数有参数时,只能将函数调用写在匿名函数体中。

function getIt(){this; }
function setIt(temp){this; }
el.addEventListener('blur',getIt);//blur是在元素失去焦点的时候触发
el.addEventListener('blur',function(){
setIt(5);
});

四,删除侦听器

节点.removeEventListener('事件',回调函数,[捕获]);

例:

<a href="#" id="c">刷新</a>
let el=document.querySelector('a');
el.addEventListener('click',setIt);
el.addEventListener('click',getIt);
el.removeEventListener('click',getIt);

猜你喜欢

转载自blog.csdn.net/qq_59294119/article/details/125637750