JavaScript的事件及异常捕获

事件处理

【onClick】单击事件、【onMouseOver】鼠标经过事件、【onMouseOut】鼠标移出事件、【onChange】文本内容改变事件、【onSelect】文本被框选事件、【onFoucus】得到光标事件、【onBlur】光标失去事件、【onLoad】网页加载事件(在body标签中添加)、【onUnload】网页关闭事件(在body标签中添加或者使用window.onload=function(){})

事件注册及监听

1、 DOM0级事件处理

在标签中添加onClick或其他事件的属性并赋值为JS的自定义方法名

onClick="dongfun(20)"

两种方法在事件中得到事件的标签对象:

 1 <div id="divid" onMouseOver="overbut(this)" onMouseOut="outbut()">东小东</div>
 2 <script>
 3      //通过参数传递对象
 4     function overbut(obj){
 5        obj.innerHTML="事件触发发,鼠标在我的范围";
 6     }
 7     //通过ID查找到对象
 8     function outbut(){
 9        document.getElementById("divid").innerHTML="再见见";
10     }
11 </script>

内容改变监听:

方法一

<input onChange="this.style.backgroundColor=‘red‘">    

方法二

1 <input id="inid" onChange="inputbut(this)">
2 <script>
3     function inputbut(obj){
4         obj.style.backgroundColor="green";//更改样式
5     }
6 </script>

2、 DOM1级事件处理

通过标签或者ID寻找到对象,进行事件监听,一个事件只能对应一个事件处理函数,在HTML中不用进行注册

1 function dongfunx(){
2         alert("东小东弹框");
3     }
4 //找到对象
5 var h1objx=document.getElementsByTagName("h1")[0];
6 //注册事件
7 h1objx.onclick=dongfunx;
8 //清除事件
9 h1objx.onclick=null;

3、 DOM2级事件处理

通过标签或者ID寻找到对象,进行事件监听,一个事件只能对应多个事件处理函数,在HTML中不用进行注册

 1 //通过ID找到标签对象
 2 divobjx=document.getElementById("divid");
 3
 4 //添加监听事件,可以添加多个相同或者不同的事件
 5 //参数(事件名,处理函数名),其中事件名是普通事件中去掉“on”前缀
 6 divobjx.addEventListener("click",onck1);
 7 divobjx.addEventListener("click",onck2);
 8
 9 //事件处理函数
10 function onck1(){
11     alert("----- onck1 -----");
12  }
13 function onck2(){
14      alert("----- onck2 -----");
15 }
16
17 //移除点击事件
18 divobjx.removeEventListener("click",onck1);

匿名方法实现

1 divobjx=document.getElementById("divid");
2 divobjx.addEventListener("click",function(){
3     //执行操作内容
4     alert("----------");
5 });

补充:

阻止HTML的默认事件

 1 <a href="https://www.cnblogs.com/dongxiaodong/">跳转</a>
 2 <script>
 3     function dongfunx(eventx){
 4         eventx.preventDefault();//阻止默认事件,不进行跳转
 5     }
 6     //找到对象
 7     var aobjx=document.getElementsByTagName("a")[0];
 8     //注册事件
 9     aobjx.onclick=dongfunx;
10 </script>

页面加载完毕监听:

1 window.onload=function(){
2     alert("页面加载完毕");
3 }

异常捕获

如果程序执行时遇到异常且未进行异常捕获,则程序将终止执行,如果有异常捕获,则可以继续执行异常以下的代码。

捕获所有异常:

1 try{
2     //alert(jj);//未定义变量异常
3     throw("东小东异常");//手动抛出异常,参数为异常内容
4 }catch(e){
5     alert("捕获的错误:"+e);
6   }


JavaScript的事件及异常捕获

原文地址:https://www.cnblogs.com/dongxiaodong/p/10420031.html

时间: 2024-08-03 21:09:01

JavaScript的事件及异常捕获的相关文章

javascript异常捕获笔记

异常捕获 1.异常 当JavaScript引擎执行Javascript代码时,发生了错误,导致程序停止运行 2.异常抛出 当异常产生,并且将这个异常生成一个错误信息 3.异常捕获 try{ 发生异常的代码块: }catch(err){ 错误信息处理: } function demo(){ try{ alert(str); }catch(error){ console.log(error);//==>ReferenceError: str is not defined(-) } } demo();

JavaScript事件——冒泡、捕获

本节要点:1.干预系统的事件处理机制(一)DOM事件流 (二)停止事件冒泡 (三)阻止事件的默认行为 1.干预系统的事件处理机制 (一)DOM事件流 DOM模型是一个树形结构,在DOM模型中,HTML元素是有层次的.当一个HTML元素上产生一个事件时,该事件会在DOM树中元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事件,这个传播过程就是DOM事件流. DOM事件标准定义了两种事件流,分别是捕获事件和冒泡事件. 1.冒泡事件流 默认情况下,事件使用冒泡事件流.当事件(例如单击事

javascript的事件捕获和事件冒泡

W3C规范对于脚本事件有两种处理方式,第一种为冒泡模型,第二种是事件捕获模型,前者为早期浏览器所支持的(也称DOM 0标准),后者为W3C规范推荐的方法(也称DMO 2标准). 其主要区别: @1:事件捕获不依赖于特定的事件来处理属性 @2:你可以对任何对象的任何一种事件注册多个事件句柄函数 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> &

javascript学习笔记(五):异常捕获和事件处理

异常捕获 Try{ 发生异常的代码块 }catch(err){ 异常信息处理 } 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <form> 9 <input id="txt

JavaScript的事件监听、捕获和冒泡

在前端开发中,我们经常需要对某些事件进行监听.这样只要在指定的元素上触发了该事件,就会执行一个回调函数来进行相关的操作. 而JavaScript中事件监听的方法总共有三种,分别如下: element.addEventListener(type, listener[, useCapture]); //IE6~8不支持 element.attachEvent('on' + type, listener)     //支持IE6~10,IE11不支持 element['on' + type] = fu

js 基础 -- 循环、函数调用 、全局和局部变量、异常捕获、事件

一:循环 for for in <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>循环</title> <meta name="viewport" conte

JavaScript(3)---事件冒泡、事件捕获

JavaScript(3)---事件冒泡与事件捕获 一.理解冒泡与捕获 假设有这么一段代码 <body> <div><p>标签</p> </div> </body> 转换成图如下 我们知道Dom是有节点关系的 body -> div -> p 之间的关系就是 爷爷 -> 父亲 -> 儿子. 我们来思考一个关键的问题 如果此时我们在 body div p 都绑定一个点击事件(click).此时如果我们只点击 p标

JavaScript事件冒泡与捕获

event.preventDefault();    如果event.cancelable的值为true,可以取消默认事件 event.cancelable;             元素是否可以取消默认事件,true可以取消,false不可以取消,IE8不支持 event.cancelBubble;         true:设置当前事件不冒泡,false:设置当前事件冒泡 event.stopPropagation();  停止当前事件的分发,不论当前事件是在冒泡还是在捕获阶段 事件--怎样

JavaScript之事件冒泡和事件捕获详细介绍

怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别,有需要的朋友可以参考一下 (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozilla 1.0: div -> body -> html -> document -> window (2)捕获型事件