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 相关文章推荐
javascript事件问题
Sep 05 Javascript
javascript 获取表单file全路径
Dec 31 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
JQuery写动态树示例代码
Jul 31 Javascript
文本域光标操作的jQuery扩展分享
Mar 10 Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 Javascript
jQuery插件实现文件上传功能(支持拖拽)
Aug 27 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
javascript实现拖拽碰撞检测
Mar 12 Javascript
jQuery实现滑动开关效果
Aug 02 jQuery
ant-design表单处理和常用方法及自定义验证操作
Oct 27 Javascript
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
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 柱状图实现代码
2009/12/04 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
告诉你什么是javascript的回调函数
2014/09/04 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
JS无限级导航菜单实现方法
2019/01/05 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
分享给Python新手们的几道简单练习题
2017/09/21 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
函授本科个人自我鉴定
2014/03/25 职场文书
日语专业求职信
2014/07/04 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
小学班主任事迹材料
2014/12/17 职场文书
中秋节慰问信
2015/02/15 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
初一年级组工作总结
2015/08/12 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android