JavaScript DOM事件

HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。

HTML 事件的例子:

  • 当用户点击鼠标时 - onclick
  • 当网页已加载时 - onload
  • 当鼠标移动到元素上时 - onmouseenter
  • 当输入字段被改变时 - onchange
  • 当提交 HTML 表单时 - onsubmit
  • 当用户触发按键时 - onkeydown

事件属性

我们可以通过事件属性来为HTML元素添加事件监听。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body onload="myFun()">
  <h2 onclick="alert('我被点击了')">点我触发点击事件</h2>
  <h2 ondblclick="alert('我被双击了')">点两下触发双击事件</h2>
  <script>
    function myFun(){
      console.log('加载完成!');
    }
  </script>
</body>
</html>

使用DOM分配事件

可以通过JavaScript给DOM分配事件。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h2 id="myId">点我触发点击事件</h2>
  <h2 id="myId2">点两下触发双击事件</h2>
  <script>
    document.getElementById('myId').onclick = function(){
      alert("我被点击了");
    }
    document.getElementById('myId2').ondblclick = function(){
      alert("我被双击了");
    }
  </script>
</body>
</html>

事件句柄

通过添加或删除事件句柄,实现为DOM分配事件和阻止事件。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h2 id="myId">点我触发点击事件</h2>
  <h2 id="myId2">点两下触发双击事件</h2>
  <script>
    document.getElementById('myId').addEventListener('click',function(){
      alert("我被点击了");
    });
    document.getElementById('myId2').addEventListener('dblclick',function(){
      alert("我被双击了");
    });
  </script>
</body>
</html>

当然也可以移除事件监听

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h2 id="myId" onclick="alert('我被点击了');">点我触发点击事件</h2>
  <script>
    document.getElementById('myId').removeEventListener('click',function(){
      alert("点击事件被拦截或者被修改");
    });
  </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一般我们可以通过Javascript,在HTML文档元素中注册不同事件处理程序。 事件通常与函数结合使用,函数不会...
    深度剖析JavaScript阅读 532评论 0 6
  • 事件 就是事件处理程序,也就是事件发生后的处理动作,对应到浏览器的交互模型中,用户点击了一个按钮,这就是一个事件,...
    petertou阅读 373评论 0 0
  • JavaScript--DOM事件 事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。 一、HTML事件 语法:...
    我可能是个假开发阅读 463评论 1 5
  • 本文采用升级的方式,由最简单的事件概念到对于 DOM 事件的常见应用。 第一:什么是事件 事件不是一个需要严格定义...
    老邵阅读 196评论 0 0
  • 对事件做出反应我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。如需在用户点击...
    0han阅读 283评论 0 0

友情链接更多精彩内容