关于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 相关文章推荐
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
jQeury淡入淡出需要注意的问题
Sep 08 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 Javascript
JQUERY设置IFRAME的SRC值的代码
Nov 30 Javascript
json原理分析及实例介绍
Nov 29 Javascript
禁用JavaScript控制台调试的方法
Mar 07 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
整理关于Bootstrap列表组的慕课笔记
Mar 29 Javascript
微信小程序canvas写字板效果及实例
Jun 15 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
JavaScript实现一个简易的计算器实例代码
May 10 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
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
Python运行异常管理解决方案
2020/03/09 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
人力资源管理专业学生自我评价
2013/11/20 职场文书
司机检讨书
2014/02/13 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript