JavaScript的事件及异常捕获
事件处理
【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/">跳转</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事件——冒泡、捕获
本节要点:1.干预系统的事件处理机制 (一)DOM事件流 (二)停止事件冒泡 (三)阻止事件的默认行为 1.干预系统的事件处理机制 (一)DOM事件流 DOM模型是一个树形结构,在DOM模型中,HTM ...
- JavaScript异常捕获
理论准备 ★ 异常捕获 △ 异常:当JavaScript引擎执行JavaScript代码时,发生了错误,导致程序停止运行: △ 异常抛出:当异常产生,并且这个异常生成一个错误信息: △ 异常捕获: ...
- Javascript异步请求你能捕获到异常吗?
Javascript异步请求你能捕获到异常吗? 异常处理是程序发布之前必须要解决的问题,不经过异常处理的应用会让用户对产品失去信心.在异常处理中,我们一贯的做法是按照函数调用的次序,将异常从数据访问层 ...
- JavaScript的事件监听、捕获和冒泡
在前端开发中,我们经常需要对某些事件进行监听.这样只要在指定的元素上触发了该事件,就会执行一个回调函数来进行相关的操作. 而JavaScript中事件监听的方法总共有三种,分别如下: element. ...
- [JavaScript] JavaScript事件注册,事件委托,冒泡,捕获,事件流
面试题 event 事件 事件委托是什么? 如何阻止事件冒泡,阻止默认事件呢? Javascript 的事件流模型都有什么? 事件绑定和普通事件有什么区别? Event 对象 Event 对象,当事件 ...
- javascript学习笔记(五):异常捕获和事件处理
异常捕获 Try{ 发生异常的代码块 }catch(err){ 异常信息处理 } <!DOCTYPE html> <html> <head lang="en&q ...
- Javascript的异常捕获机制
這個異常處理機制,之前也只是,但是沒有怎麼用過,用了一次后發現還可以, 和java,python的異常處理機制也很相似 Javascript的异常捕获机制 1.1 基本的try…catch语句 ES3 ...
- JavaScript(3)---事件冒泡、事件捕获
JavaScript(3)---事件冒泡与事件捕获 一.理解冒泡与捕获 假设有这么一段代码 <body> <div><p>标签</p> </div ...
- JavaScript事件起泡与捕获
// 向 <div> 元素添加事件句柄 document.getElementById("myDIV").addEventListener("mousemov ...
随机推荐
- Golang的模块管理Module
Golang 1.11版本终于支持了官方的模块依赖管理功能,1.11以前想要实现依赖管理只能够通过借助第三方库来实现,1.11以前的版本Golang项目必须依赖以GOPATH,从当前版本开始Golan ...
- comutil
使用该工具库,通常包含comsuppw.lib.kernel32.lib. _com_util::ConvertBSTRToString 将VT_BSTR类型转换为普通字符串.
- FTP出现PORT模式成功, 请更新你的站点配置文件
最近用FTP连接站点,经常出现连接不上或者连接失败,提示以PASV模式连接失败,正在使用PORT模式连接,最后才能连接成功,连接时间也是相当长,又慢又不稳定. 工具/原料 FlashFXP等F ...
- 【安富莱】【RL-TCPnet网络教程】第8章 RL-TCPnet网络协议栈移植(RTX)
第8章 RL-TCPnet网络协议栈移植(RTX) 本章教程为大家讲解RL-TCPnet网络协议栈的RTX操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就比较容易了,主要 ...
- Zookeeper+Dubbo+SpringMVC环境搭建
项目码云GIT地址:https://gitee.com/xshuai/dubbo/ 开发工具 MyEclipse 10.7 JDK 1.7 容器 Tomcat 8(运行dubbo) zookeeper ...
- 发一些Java面试题,上海尚学堂Java学员面试遇到的真题,值得学习
1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java AP ...
- [SQL]LeetCode197. 上升的温度 | Rising Temperature
SQL架构 Create table If Not Exists Weather (Id int, RecordDate date, Temperature int) Truncate table W ...
- [Swift]LeetCode598. 范围求和 II | Range Addition II
Given an m * n matrix M initialized with all 0's and several update operations. Operations are repre ...
- [Swift]LeetCode807. 保持城市天际线 | Max Increase to Keep City Skyline
In a 2 dimensional array grid, each value grid[i][j]represents the height of a building located ther ...
- iOS模拟器使用
在iOS开发过程中一直都是使用模拟器进行调试,在模拟器上有很多不适应的地方,但是其实在模拟器上也有很多其他的功能,在本文中主要对模拟器的一些基本功能进行总结一下. 1 首先,我们了解一下模拟器中常用的 ...