关于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 相关文章推荐
JavaScript 全角转半角部分
Oct 28 Javascript
9个JavaScript评级/投票插件
Jan 18 Javascript
js下利用控制器载入对应脚本
Jul 17 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
浅谈Vue.js
Mar 02 Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 Javascript
JS实现元素上下左右移动效果
Oct 18 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
原生JavaScript实现todolist功能
Mar 02 Javascript
详解vue 兼容IE报错解决方案
Dec 29 Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 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
用session做客户验证时的注意事项
2006/10/09 PHP
PHP音乐采集(部分代码)
2007/02/14 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
PHP 事件机制(2)
2011/03/23 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
tagName的使用,留一笔
2006/06/26 Javascript
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
js自定义事件代码说明
2011/01/31 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
three.js如何实现3D动态文字效果
2021/03/03 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
python递归下载文件夹下所有文件
2019/08/31 Python
Django之form组件自动校验数据实现
2020/01/14 Python
大学生期末自我鉴定
2014/02/01 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python