关于JavaScript中事件绑定的方法总结


Posted in Javascript onOctober 26, 2016

最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看。

JavaScript中绑定事件的方法主要有三种:

1 在DOM元素中直接绑定

2 JavaScript代码中直接绑定

3 绑定事件监听函数

一、在DOM元素中直接绑定

也就是直接在html标签中通过 onXXX=“” 来绑定。举个例子:

<input type="button" value="点我呦" onclick="alert("hello world!")"/>
<!--或者-->
<input type="button" value="点我呦" onclick="testAlert()">
<script type="text/javascript">
  function testAlert(){
   alert("hello world!");
  }
</script>

二、JavaScript代码中直接绑定

在JavaScript中通过查找DOM对象,对其绑定,elementObject.onclick=function(){} 的格式,举例如下:

<input type="button" value="点我呦" id="demo">
<script type="text/javascript">

  document.getElementById("demo").onclick=function testAlert(){
   alert("hello world!");
  }
</script>

三、绑定事件监听函数

这里需要了解addEventListener()和attachEvent()的函数语法。

1 elementObject.addEventListener(eventName,handle,useCapture) (支持主流浏览器、以及IE9.0及以上)

eventName:要绑定的事件名称。注意写法,比如点击事件,写成click,而不是onclick.

handle: 处理事件的函数名。但是写法上没有小括号。

useCapture:Boolean类型,是否使用捕获,一般用false,具体涉及到的会在后边总结。

2 elementObject.attachEvent(eventName,handle);(仅支持IE8及以下)

从网上找到了一个兼容的好办法,相比较if。。else语句,这个方法用的是try..catch错误处理语句,可以避免浏览器出现错误提示。

function addEvent(obj,type,handle){
  try{
   obj.addEventListener(type,handle,false);
  }catch(e){
   try{
    obj.attachEvent('on'+type,handle);
   }
   catch(e){
    obj['on' + type]=handle;//早期浏览器
   }
  }
}

四、说说JQuery中绑定事件的几种方法。

主要有on()、bind()、live()、delegate()等几种,相对应的解绑就是off()、unbind()、live()、undelegate();

1 on()、bind()、live()、delegate()中除了bind(),其他的都可以给后来追加的元素对象添加绑定事件。

2 这几种方法中各自有对应支持的JQuery版本。

3 在给动态添加的页面元素绑定事件时,通常用on()方法。

以上就是小编为大家带来的关于JavaScript中事件绑定的方法总结全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
js如何实现设计模式中的模板方法
Jul 23 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
apply和call方法定义及apply和call方法的区别
Nov 15 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
浅谈键盘上回车按钮的js触发事件
Feb 13 Javascript
浅谈JavaScript find 方法不支持IE的问题
Sep 28 Javascript
vue 优化CDN加速的方法示例
Sep 19 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 #Javascript
jquery+css3问卷答题卡翻页动画效果示例
Oct 26 #Javascript
简单的js计算器实现
Oct 26 #Javascript
利用python分析access日志的方法
Oct 26 #Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 #Javascript
关于Jquery中的事件绑定总结
Oct 26 #Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
Oct 25 #Javascript
You might like
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
Zend的MVC机制使用分析(一)
2013/05/02 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
Node.js实现文件上传
2016/07/05 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python selenium如何设置等待时间
2016/09/15 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python命令行工具Click快速掌握
2019/07/04 Python
解析python的局部变量和全局变量
2019/08/15 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
Django实现简单的分页功能
2021/02/22 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
大班幼儿评语大全
2014/04/30 职场文书
社区国庆节活动总结
2015/03/23 职场文书
学校食堂管理制度
2015/08/04 职场文书
初中班干部工作总结
2015/08/10 职场文书
Nginx动静分离配置实现与说明
2022/04/07 Servers
Python四款GUI图形界面库介绍
2022/06/05 Python