关于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 相关文章推荐
ajax更新数据后,jquery、jq失效问题
Mar 16 Javascript
jquery 跨域访问问题解决方法(笔记)
Jun 08 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
Extjs实现进度条的两种便捷方式
Sep 26 Javascript
jsPDF导出pdf示例
May 02 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
JavaScript探测CSS动画是否已经完成的方法
Aug 30 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
gulp安装以及打包合并的方法教程
Nov 19 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
Node.js操作系统OS模块用法分析
Jan 04 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
JS 对象介绍
2010/01/20 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
python学习开发mock接口
2019/04/28 Python
python设置环境变量的原因和方法
2019/06/24 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python判断变量是否为列表的方法
2020/09/17 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
护士自我鉴定怎么写
2014/02/07 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
读书活动总结范文
2014/04/26 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
小组口号霸气押韵
2015/12/24 职场文书
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python