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 相关文章推荐
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
javascript实现全角与半角字符的转换
Jan 07 Javascript
JavaScript获得url查询参数的方法
Jul 02 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
JS实现的表格行上下移动操作示例
Aug 03 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
Oct 27 Javascript
JS实现中国公民身份证号码有效性验证
Feb 20 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
Dec 01 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
微信小程序如何使用云开发
May 17 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
给多个地址发邮件的类
2006/10/09 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
python基础教程之Filter使用方法
2017/01/17 Python
Django中Model的使用方法教程
2018/03/07 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python使用代理ip访问网站的实例
2018/05/07 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
高三毕业寄语
2014/04/10 职场文书
品牌服务方案
2014/06/03 职场文书
给老师的一封感谢信
2015/01/20 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
Python 图片添加美颜效果
2022/04/28 Python
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技