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
Jun 05 Javascript
javascript中的document.open()方法使用介绍
Oct 09 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
Sep 04 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
JavaScrpt判断一个数是否是质数的实例代码
Jun 11 Javascript
详解vue + vuex + directives实现权限按钮的思路
Oct 24 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
Node.js net模块功能及事件监听用法分析
Jan 05 Javascript
vue-cli3跨域配置的简单方法
Sep 06 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中的 == 运算符进行字符串比较
2006/11/26 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
python基于phantomjs实现导入图片
2016/05/13 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Numpy 多维数据数组的实现
2020/06/18 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
六一节目主持词
2014/04/01 职场文书
书香校园建设方案
2014/05/02 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
六五普法宣传标语
2014/10/06 职场文书
任命书标准格式
2015/03/02 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server