Web API---DOM---为元素绑定事件的引入,为元素绑定多个代码,兼容代码

1. 为元素绑定事件的引入:

用src直接绑定多个,只实现最后一个(programmer2.js)

<input type="button" value="按钮" id="btn"/>
<script src="common.js"></script>
<script src="programmer1.js"></script>
<script src="programmer2.js"></script>
<script>

  my$("btn").onclick=function () {
    console.log("小杨好帅哦");
  };
</script>

2. 为元素绑定多个事件

为元素绑定事件(DOM) :一种, 但是不兼容, 所以还是有两种

1. 对象.addEventListener("事件类型", 事件处理函数, false); ----->谷歌和火狐支持, IE8不支持

2. 对象.attachEvent("有on的事件类型", 事件处理函数)  ----->谷歌不支持, 火狐不支持, IE8支持

2.1 对象.addEventListener("事件类型", 事件处理函数, false); ----->谷歌和火狐支持, IE8不支持

案例:为按钮绑定点击事件

  1. 参数1:事件的类型---事件的名字,没有on
  2. 参数2:事件处理函数---函数(命名函数,匿名函数)
  3. 参数3:布尔类型,目前就写false
    //为同一个元素绑定多个相同的事件--
    my$("btn").addEventListener("click", function () {
      console.log("小苏猥琐啊");
    }, false);
    my$("btn").addEventListener("click", function () {
      console.log("小苏龌龊啊");
    }, false);
    my$("btn").addEventListener("click", function () {
      console.log("小苏邪恶啊");
    }, false);
    my$("btn").addEventListener("click", function () {
      console.log("小苏下流啊");
    }, false);

2.2 对象.attachEvent("有on的事件类型", 事件处理函数)  ----->谷歌不支持, 火狐不支持, IE8支持

  1. 参数1:事件类型---事件名字,有on
  2. 参数2:事件处理函数---函数(命名函数,匿名函数)
    my$("btn").attachEvent("onclick", function () {
      console.log("小杨好帅哦1");
    });

    my$("btn").attachEvent("onclick", function () {
      console.log("小杨好帅哦2");
    });

    my$("btn").attachEvent("onclick", function () {
      console.log("小杨好帅哦3");
    });

3. 为元素绑定事件的兼容代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>title</title>

</head>
<body>
<input type="button" value="按钮" id="btn"/>
<script src="common.js"></script>
<script>

  //为任意元素.绑定任意的事件, 任意的元素,事件的类型,事件处理函数
  function addEventListener(element,type,fn) {
    //判断浏览器是否支持这个方法
    if(element.addEventListener){
      element.addEventListener(type,fn,false);
    }else if(element.attachEvent){
      element.attachEvent("on"+type,fn);
    }else{
      element["on"+type]=fn;
    }
  }

  addEventListener(my$("btn"),"click",function () {
    console.log("哦1");
  });
  addEventListener(my$("btn"),"click",function () {
    console.log("哦2");
  });
  addEventListener(my$("btn"),"click",function () {
    console.log("哦3");
  });

</script>
</body>
</html>

原文地址:https://www.cnblogs.com/jane-panyiyun/p/12000014.html

时间: 2024-10-10 22:09:41

Web API---DOM---为元素绑定事件的引入,为元素绑定多个代码,兼容代码的相关文章

从零开始学 Web 之 DOM(七)事件冒泡

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +------------------------------------------------------------ github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ +-----------------------

Jquery Validate根据其他元素的事件来触发单个元素的异步校验

场景:在做一个车辆信息管理模块,而车牌是通过车牌颜色和车牌号码来确定唯一性的,录入车牌信息时需对车牌进行唯一性校验. 对车牌号的异步校验规则 1 rules:{ 2 plateNumber:{ 3 remote:{ 4 url:'${ctx}/bu/vehicleInfo/checkPlateNumUniqueness', 5 data:{ 6 plateNumber:function(){ 7 return $("#plateNumber").val(); 8 }, 9 plateC

JavaScript之jQuery-10 T-Query(T-Query、基本选择器、T-Query对象、操作方法、创建元素、事件绑定)

一.T-Query DOM 的使用问题 - 在 JavaScript中使用 DOM解析并操作 HTML 元素 - W3C 指定的 DOM 规范不仅适用于解析并操作 HTML 页面,还适用于解析并操作XML文件 - 使用 DOM 解析并操作 HTML页面中元素代码并不简洁 - 如果实现逻辑过于复杂的话,还可能影响 HTML页面的性能 - 我们可以通过自定义的T-Query完成对一些操作的封装,将基本操作进行简化 - T-Query功能大体如下: - 创建$全局对象,并提供工厂函数 - 使用$(ex

ASP.Net Web API 的参数绑定[翻译]

原文地址:Parameter Binding in ASP.NET Web API 译文如下: 当Web API相应Controller的一个方法时,它必定存在一个设置参数的过程,叫作数据绑定.这篇文章描述了Web API如何绑定参数以及如何自定义绑定过程. 一般情况下,Web API绑定参数符合如下规则: 如果参数为简单类型,Web API 尝试从URI中获取.简单参数类型包含.Net源生类型(int,bool,double...),加上TimeSpan,DateTime,Guid,decim

Ajax动态刷新元素js事件失效

工作中遇到一个情况,通过Ajax动态刷新某一区域后,原来绑定在这些dom元素上的js事件就失效了,定位了半天也不知道原因在那,后来查了资料发现动态刷新后的区域Dom元素是重新生成,所以页面之前的js不会动态绑定到新生成的元素上,这怎么解决呢,这里就用到了jQuery的事件委托机制来实现,示例代码如下: jQuery1.7版本以前可以通过live事件委托方式: $(selector).live("click", function(){ // 事件逻辑 }); 1.7版本后jQuery废除

jQuery学习-事件之绑定事件(一)

我们都知道jQuery的事件其思想来源于Dean Edwards的addEvent,通过源码我们知道jQuery在为元素绑定事件时,每种类型的事件(click,blur)时只绑定了一次对应类型的事件处理方法,实际的方法是存在jQuery的缓存系统中的,这样做的好处我就不多说了,绑定方法的函数为add方法,在执行事件的时,通过handers在缓存系统中获取事件列表,然后通过dispatch函数来执行对应的事件. jQuery.event = { add: function( elem, types

jquery的bind跟on绑定事件的区别

Jquery的bind跟on绑定事件的区别:主要是事件冒泡(事件代理): jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(events [,selector]  [,data], handler) 从文档中可以看出,.on方法比.bind方法多一个参数'selector' .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如: $('ul').on('click', 'li', fun

jQuery中怎样阻止后绑定事件

你的代码在页面载入过程中已经完成事件绑定了,没有阻止后绑定的事件的办法了,不过可以删除当前指定节点的事件绑定.方法如下:$("#btn").click(function(){if($("#tx").val()==""){alert("e1");}else{//删除后绑定的事件...$("#btn").unbind('click');}}); 说明:unbind([type],[data])bind()的反向

水煮 ASP.NET Web API(1-3)如何接收 HTML 表单请求

问题 我们想创建一个能够处理 HTML 表单的 ASP.NET Web API 应用程序(使用 application/x-www-form-urlencoded 方式提交数据). 解决方案 我们可以创建一个 Controller Action 接收一个 Moddel,Model 的结构和准备从HTML 表单提交的准备处理的结构相似,模型绑定依赖于 ASP.NET Web API 来处理.模型中的属性名字和 HTTP 请求中要用的名字要匹配. public HttpResponseMessage