客户端javascript程序采用了异步事件驱动编程模型。
相关事件的几个概念:
事件类型(event type):用来说明发生什么类型事件的字符串;
事件目标(event target):发生事件的对象;
事件处理程序(event handler):处理或响应事件的函数;
事件对象(event object):与特定事件相关且包含有关该事件详细信息的对象;
事件传播(event propagation):浏览器决定哪个对象出发其事件处理程序的过程;
注册事件处理程序:
1、设置javascript对象属性;
2、设置html标签属性
3、addEventListener或attachEvent(后者为IE的)
function addEvent(target,type,handler){ if(target.addEventListener){ target.addEventListener(type,handler,false); }else{ target.attachEvent("on"+type,function(event){return handler.call(target,event)}); } }
事件传播的三个阶段:
1、发生在目标处理函数之前,称为‘捕获'阶段;
2、对象本身的处理事件的调用;
3、事件的冒泡阶段;
在javascript中,可以为某个元素指定事件,指定的方式有以下三种:
1、在html中,使用onclick属性
2、在javascript中,使用onclick属性
3、在javascipt中,使用addEvenListener()方法
三种方法的比较
(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
(2)首选第二、三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容。
一些语法细节
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。
onclick="clickHandler()" document.getElementById("jsOnClick").onclick = clickHandler2; document.getElementById("addEventListener").addEventListener("click", clickHandler2);
完整代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Even Deom</title> </head> <body> <button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button> <button id="jsOnClick">jsOnClick</button> <button id="addEventListener">addEventListener</button> <script defer> function clickHandler() { alert("onclick attribute in html"); } function clickHandler2(e) { alert(e.target.innerHTML); } document.getElementById("jsOnClick").onclick = clickHandler2; document.getElementById("addEventListener").addEventListener("click", clickHandler2); </script> </body> </html>
以上所述就是本文的全部内容了,希望大家能够喜欢。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 纯音入心系列纯音乐《中央民族乐团-古筝传奇》1CD[MP3][253.1MB]
- 江玲.1989-这样你才爱我,是吗?【新作有声】【WAV+CUE】
- 郭美美.2010-我是郭美美【华纳】【WAV+CUE】
- 黄心懋1991-轻忧郁【滚石】【WAV+CUE】
- 群星.2000-大地金曲世纪回顾2CD【大地】【WAV+CUE】
- 王菲.1996-浮躁(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 群星.2022-传家电视剧原声带【东阳欢娱】【FLAC分轨】
- 《摇滚教父 伍佰黄金精选 2CD》 [WAV+CUE][1GB]
- 《凤凰传奇 我从草原来》[WAV/分轨][400MB]
- 《叶倩文 真心真意过一生》[WAV+CUE][400MB]
- 潘越云.1985-世间女子(滚石25周年经典复刻版)【滚石】【WAV+CUE】
- 陈柏宇.2009-CANT.BE.HALF【SONY】【WAV+CUE】
- 李明依.1989-小女生【滚石】【WAV+CUE】
- 《李荣浩 新时代创作新人王》[WAV分轨][310MB]
- 《黑鸭子与马头琴 史上最动听草原音乐》[WAV+CUE][320MB]