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将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
javascript实现可改变滚动方向的无缝滚动实例
Jun 17 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
浅析jQuery1.8的几个小变化
Dec 10 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
js禁止浏览器的回退事件
Apr 20 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
在vscode中统一vue编码风格的方法
Feb 22 Javascript
35个最好用的Vue开源库(史上最全)
Jan 03 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 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中动态HTML的输出技术
2006/10/09 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
基于php编程规范(详解)
2017/08/17 PHP
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
解决layer.prompt无效的问题
2019/09/24 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
2020/05/12 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python字典get()方法用法分析
2015/04/17 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Django框架表单操作实例分析
2019/11/04 Python
adidas泰国官网:adidas TH
2020/07/11 全球购物
应届生英语教师求职信
2013/11/05 职场文书
向领导表决心的话
2014/03/11 职场文书
学校门卫岗位职责
2014/03/16 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
2014年师德承诺书
2014/05/23 职场文书
经理任命书模板
2014/06/06 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python
GPU服务器的多用户配置方法
2022/07/07 Servers