关于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 相关文章推荐
限制复选框的最大可选数
Jul 01 Javascript
自己动手制作jquery插件之自动添加删除行的实现
Oct 13 Javascript
javascript对象的使用和属性操作示例详解
Mar 02 Javascript
js子页面获取父页面数据示例
May 15 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
React.js中常用的ES6写法总结(推荐)
May 09 Javascript
react系列从零开始_简单谈谈react
Jul 06 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
JS开发常用工具函数(小结)
Jul 04 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
详解vue v-model
Aug 31 Javascript
node koa2 ssr项目搭建的方法步骤
Dec 11 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
PHP中几个常用的魔术常量
2012/02/23 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php实现的漂亮分页方法
2014/04/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
scrapy爬虫实例分享
2017/12/28 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
电脑租赁公司创业计划书
2014/01/08 职场文书
卫生巾广告词
2014/03/18 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
《去年的树》教学反思
2016/02/18 职场文书
公司转让协议书
2016/03/19 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python