js--DOM事宜绑定

js事宜绑定

JavaScript 有三种事宜模子:

  • 内联模子
  • 剧本模子
  • DOM2 模子
  1. 内联模子

    //基础取销不必
    <input type="button" value="按钮" onclick="alert('Lee');" />
    <input type="button" value="按钮" onclick="box();" /> 
  2. 剧本模子

    //基础不必
    var input = document.getElementsByTagName('input')[0]; //获得 input 对象
      input.onclick = function () { //匿名函数实行
      alert('Lee');
    };
    事宜处置惩罚函数  影响的元素 什么时刻发作
    onabort 图象 当图象加载被中缀时
    onblur 窗口、框架、一切表单对象 当核心从对象上移开时
    onchange 输入框,挑选框和文本地区 当转变一个元素的值且落空核心时
    onclick 链接、按钮、表单对象、图象映照地区 当用户单击对象时
    ondblclick 链接、按钮、表单对象 当用户双击对象时
    ondragdrop 窗口 当用户将一个对象拖放到浏览器窗口时
    onError 剧本 当剧本中发作语法错误时
    onfocus 窗口、框架、一切表单对象 当单击鼠标或许将鼠标挪动聚焦到窗口或框架时
    onkeydown 文档、图象、链接、表单 当按键被按下时
    onkeypress 文档、图象、链接、表单 当按键被按下然后松开时
    onkeyup 文档、图象、链接、表单 当按键被松开时
    onload 主题、框架集、图象 文档或图象加载后
    onunload 主体、框架集 文档或框架集卸载后
    onmouseout 链接 当图标移除链接时
    onmouseover 链接 当鼠标移到链接时
    onmove 窗口 当浏览器窗口挪动时
    onreset 表单复位按钮 单击表单的 reset 按钮
    onresize 窗口 当挑选一个表单对象时
    onselect 表单元素 当挑选一个表单对象时
    onsubmit 表单 当发送表格到服务器时
  3. 内联模子
    “DOM2 级事宜”定义了两个要领,用于增加事宜和删除事宜处置惩罚顺序的操纵:
    addEventListener()和 removeEventListener()。一切 DOM 节点中都包括这两个要领,而且它们都接收 3 个参数;事宜名、函数、冒泡或捕捉的布尔值(true 示意捕捉,false 示意冒泡)

    window.addEventListener('load', function () {
      alert('Lee');
    }, false);
    window.removeEventListener('load', function () {
      alert('Mr.Lee');
    }, false)

PS: IE 完成了与 DOM 中相似的两个要领:attachEvent()和 detachEvent()。这两个要领接收
雷同的参数:事宜称号和函数。
在运用这两组函数的时刻,先把区分说一下:

1. IE 不支撑捕捉,只支撑冒泡;
2. IE 增加事宜不能屏障反复的函数;
3. IE 中的 this 指向的是 window 而不是 DOM 对象。
4. 在传统事宜上,IE 是没法接收到 event 对象的,但运用了 attchEvent()却能够,但有些区分。
```javascript
window.attachEvent('load', function () {
  alert('Lee');
}, false);
window.detachEvent('load', function () {
  alert('Mr.Lee');
}, false)
```

PS:IE 中的事宜绑定函数 attachEvent()和 detachEvent()可能在实践中不去运用,有几个
缘由:1.IE9 就将周全支撑 W3C 中的事宜绑定函数;2.IE 的事宜绑定函数没法通报 this;3.IE
的事宜绑定函数不支撑捕捉;4.同一个函数注册绑定后,没有屏障掉;5.有内存走漏的题目

    原文作者:镰月
    原文地址: https://segmentfault.com/a/1190000013801918
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞