JavaScript中的事件与异常捕获详析


Posted in Javascript onFebruary 24, 2019

事件处理

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

事件注册及监听

1、 DOM0级事件处理

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

onClick="dongfun(20)"

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

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

内容改变监听:

方法一

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

方法二

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

2、 DOM1级事件处理

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

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

3、 DOM2级事件处理

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

//通过ID找到标签对象
divobjx=document.getElementById("divid");
 
//添加监听事件,可以添加多个相同或者不同的事件
//参数(事件名,处理函数名),其中事件名是普通事件中去掉“on”前缀
divobjx.addEventListener("click",onck1);
divobjx.addEventListener("click",onck2);
 
//事件处理函数
function onck1(){
 alert("----- onck1 -----"); 
 }
function onck2(){
 alert("----- onck2 -----"); 
}
 
//移除点击事件
divobjx.removeEventListener("click",onck1);

匿名方法实现

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

补充:

阻止HTML的默认事件

<a href="https://www.cnblogs.com/dongxiaodong/" rel="external nofollow" >跳转</a>
<script>
 function dongfunx(eventx){
 eventx.preventDefault();//阻止默认事件,不进行跳转
 }
 //找到对象
 var aobjx=document.getElementsByTagName("a")[0];
 //注册事件
 aobjx.onclick=dongfunx;
</script>

页面加载完毕监听:

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

异常捕获

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

捕获所有异常:

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Js动态创建div
Sep 25 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
js实现数组和对象的深浅拷贝
Sep 30 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
移动端图片上传旋转、压缩问题的方法
Oct 16 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
Electron实现应用打包、自动升级过程解析
Jul 07 Javascript
Vue 组件注册实例详解
Feb 23 #Javascript
Vue Prop属性功能与用法实例详解
Feb 23 #Javascript
Vue自定义属性实例分析
Feb 23 #Javascript
Vue动态组件与异步组件实例详解
Feb 23 #Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
Feb 22 #Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 #Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 #Javascript
You might like
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
php生成excel列序号代码实例
2013/12/24 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
基于jQuery架构javascript基础体系
2011/01/01 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
Python机器学习之决策树算法
2017/12/22 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
python中os包的用法
2020/06/01 Python
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
计算机专业职业生涯规划范文
2014/01/19 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
公司2014年度工作总结
2014/12/10 职场文书
2014年度工作总结报告
2014/12/15 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
Spring Boot 实现 WebSocket
2022/04/30 Java/Android
详解flex:1什么意思
2022/07/23 HTML / CSS
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang