关于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 相关文章推荐
ECMAScript 基础知识
Jun 29 Javascript
jquery模拟SELECT下拉框取值效果
Oct 23 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
javascript实现控制的多级下拉菜单
Jul 05 Javascript
Bootstrap开关(switch)控件学习笔记分享
May 30 Javascript
JQuery 又谈ajax局部刷新
Nov 27 jQuery
ES6 更易于继承的类语法的使用
Feb 11 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
Sep 05 Javascript
解析vue、angular深度作用选择器
Sep 11 Javascript
js实现百度登录窗口拖拽效果
Mar 19 Javascript
Vuex中的Mutations的具体使用方法
Jun 01 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
第八节--访问方式
2006/11/16 PHP
E路文章系统PHP
2006/12/11 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
详解Python中的文本处理
2015/04/11 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
python实现多线程网页下载器
2018/04/15 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
python实现的自动发送消息功能详解
2019/08/15 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
德国自行车商店:Tretwerk
2019/06/21 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
旅游管理专业大学生职业规划书
2014/02/27 职场文书
中学语文教学反思
2016/02/16 职场文书
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL