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 相关文章推荐
Mozilla中显示textarea中选择的文字
Sep 07 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
Apr 07 Javascript
JS 添加千分位与去掉千分位的示例
Jul 11 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
JS对象深度克隆实例分析
Mar 16 Javascript
JavaScript中的遍历详解(多种遍历)
Apr 07 Javascript
vue脚手架vue-cli的学习使用教程
Jun 06 Javascript
vue 自定义全局方法,在组件里面的使用介绍
Feb 28 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
Apr 25 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
ThinkPHP中order()使用方法详解
2016/04/19 PHP
thinkphp分页集成实例
2017/07/24 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
空气的环保标语
2014/06/12 职场文书
自荐信模板大全
2015/03/27 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python