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工具 Cookie 封装
Aug 21 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
微信小程序中页面FOR循环和嵌套循环
Jun 21 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
微信小程序:报错(in promise) MiniProgramError
Oct 30 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编写注册后Email激活验证的实例代码
2013/03/11 PHP
php页面防重复提交方法总结
2013/11/25 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
Python-接口开发入门解析
2019/08/01 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
小学教师的自我评价范例
2013/10/31 职场文书
资源环境与城市管理专业推荐信
2013/11/30 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
合作意向协议书范本
2014/03/31 职场文书
保护环境的标语
2014/06/09 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python