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 相关文章推荐
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
jQuery统计上传文件大小的方法
Jan 24 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
Jan 21 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
js实现一个猜数字游戏
Mar 31 Javascript
JS分页的实现(同步与异步)
Sep 16 Javascript
详解Vue源码之数据的代理访问
Dec 11 Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 jQuery
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
Nest.js参数校验和自定义返回数据格式详解
Mar 29 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
php桌面中心(一) 创建数据库
2007/03/11 PHP
php创建多级目录代码
2008/06/05 PHP
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
php实现的xml操作类
2016/01/15 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
2018/08/13 Javascript
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
linux安装python修改默认python版本方法
2019/03/31 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
大型活动策划方案
2014/01/12 职场文书
高中毕业自我评价
2014/02/08 职场文书
护士医德医风自我评价
2014/09/15 职场文书
创业计划书之水果店
2019/07/18 职场文书
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers