js添加绑定事件的方法


Posted in Javascript onMay 15, 2016

先介绍js添加事件通用方法,具体内容如下

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
  </head>
  <body>
    <p id="p1">测试添加事件:firefox使用addEventListener,ie使用attachEvent<br>
    点击此p标签,绑定了2个弹出事件</p>
    <script>
      function test1() {
        alert("test1");
      }
      function test2(){
        alert("test2");
      }
      //添加事件通用方法
      function addEvent(element,e,fn) {
        //firefox使用addEventListener,来添加事件
        if(element.addEventListener) {
          element.addEventListener(e,fn,false);
        }
        //ie使用attachEvent,来添加事件
        else {
          element.attachEvent("on"+e,fn);
        }
      }
      window.onload = function(){
        var element = document.getElementById("p1");
        addEvent(element,"click",test1);
        addEvent(element,"click",test2);
      }
    </script>
  </body>
</html>

js绑定事件的常用方式:

绑定事件的方式:用事件属性绑定事件函数 
优点:

1、完成行为的分离 
2、便于操作当事对象,因为function是作为on***的属性出现的,可直接用this引用当事对象。
3、方便读取事件对象,事件触发时系统自动把事件对象传递给事件函数,已其一个来传

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>JS事件绑定</title> 
<script type="text/javascript"> 
  window.onload=function(){ 
   var k=document.getElementById('k').onclick=function(event){ 
   var jj=document.getElementById('jj'); 
     jj.style.top=event.clientX+'px'; 
     jj.style.left=event.clientY+'px'; 
   } 
  }  
   
</script> 
<style> 
  #k{width:60px;height:80px; background-color:#80ffff;} 
  #jj{width:60px ;height:80px;background-color:#ffff00;z-index:1000;position:absolute;} 
</style> 
</head> 
<body> 
<div id="k"></div> 
<div id="jj"></div>  
</body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jQuery为iframe的body添加click事件的实现代码
Apr 07 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
js中根据字数截取字符串,不能截断url
Jan 12 Javascript
JavaScript实现N皇后问题算法谜题解答
Dec 29 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
javascript使用 concat 方法对数组进行合并的方法
Sep 08 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
Nov 07 Javascript
JS拉起或下载app的实现代码
Feb 22 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
Apr 01 Javascript
微信小程序canvas拖拽、截图组件功能
Sep 04 Javascript
angularJS自定义directive之带参方法传递详解
Oct 09 Javascript
Ajax 的初步实现(使用vscode+node.js+express框架)
Jun 18 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 #Javascript
易被忽视的js事件问题总结
May 14 #Javascript
jQuery防止重复绑定事件的解决方法
May 14 #Javascript
jQuery基于扩展简单实现倒计时功能的方法
May 14 #Javascript
jquery动态切换背景图片的简单实现方法
May 14 #Javascript
jQuery基于$.ajax设置移动端click超时处理方法
May 14 #Javascript
jQuery基于扩展实现的倒计时效果
May 14 #Javascript
You might like
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
xtree.js 代码
2007/03/13 Javascript
json跟xml的对比分析
2008/06/10 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
各个系统下的Python解释器相关安装方法
2015/10/12 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
详解Python装饰器
2019/03/25 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
使用python远程操作linux过程解析
2019/12/04 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
英国袜子店:Sock Shop
2017/01/11 全球购物
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
医务人员自我评价
2014/01/26 职场文书
李开复演讲稿
2014/05/24 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
毕业设计致谢语
2015/05/14 职场文书
初中政治教学工作总结
2015/08/13 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis