欢迎来到科站长!

JavaScript

当前位置: 主页 > 网络编程 > JavaScript

js中基本事件的总结(onclick、onblur、onchange等)

时间:2025-02-11 16:53:53|栏目:JavaScript|点击:

目录

js中的基本事件总结:

特定的场景下发生的一个动作:事件;事件=函数(),事件发生会触发函数执行。

一、什么是事件?

事件是用户在网页上的交互行为(如点击、滚动、按键)或浏览器自动触发的行为(如页面加载完成)。JavaScript 通过 事件监听 来响应这些行为。

二、常见事件类型

三、

三、事件处理的三种方式

1. HTML 属性方式(不推荐)

直接在 HTML 元素中定义事件:

运行 HTML

2. DOM 属性方式

通过 JavaScript 为 DOM 元素属性赋值:

const btn = document.querySelector('button');
btn.onclick = function() {
  console.log('按钮被点击');
};
// 缺点:无法绑定多个相同事件

3. addEventListener(推荐)

btn.addEventListener('click', function(event) {
  console.log('第一次点击');
});

btn.addEventListener('click', () => {
  console.log('第二次点击'); // 可以绑定多个处理函数
});

优点:支持多个监听器、可控制事件阶段(捕获/冒泡)

四、事件对象 (event)

事件处理函数会自动接收一个 event 对象,包含事件相关信息:

element.addEventListener('click', function(event) {
  console.log(event.target); // 触发事件的元素
  console.log(event.clientX, event.clientY); // 鼠标坐标
  event.preventDefault(); // 阻止默认行为(如表单提交)
  event.stopPropagation(); // 阻止事件冒泡
});

五、事件冒泡与捕获

  • 冒泡 (Bubbling):事件从目标元素向上传递到根元素(默认阶段)。
  • 捕获 (Capturing):事件从根元素向下传递到目标元素。
// 第三个参数为 true 表示捕获阶段,false 表示冒泡阶段(默认)
parent.addEventListener('click', () => {
  console.log('父元素捕获阶段');
}, true);

child.addEventListener('click', () => {
  console.log('子元素冒泡阶段');
});

六、表单事件示例

const form = document.querySelector('form');
form.addEventListener('submit', function(event) {
  event.preventDefault(); // 阻止表单默认提交
  const input = document.querySelector('#username');
  console.log('输入的值:', input.value);
});

七、事件委托

利用事件冒泡,将事件监听绑定到父元素,处理动态子元素:

  • Item 1
  • Item 2

运行 HTML

document.getElementById('list').addEventListener('click', function(event) {
  if (event.target.tagName === 'LI') {
    console.log('点击了:', event.target.textContent);
  }
});
// 动态添加的 li 元素也会自动拥有事件响应

八、其他要点

解绑事件:使用 removeEventListener

const handler = () => { console.log('Click') };
btn.addEventListener('click', handler);
btn.removeEventListener('click', handler);

匿名函数问题:匿名函数无法通过 removeEventListener 解绑。

被动事件监听器:优化滚动性能

window.addEventListener('scroll', function(e) {
  // 逻辑代码
}, { passive: true });

通过掌握这些基础知识,你可以实现丰富的交互功能!建议通过实际项目练习加深理解。

上一篇:详解如何在Node.js中使用中间件处理请求

栏    目:JavaScript

下一篇:暂无

本文标题:js中基本事件的总结(onclick、onblur、onchange等)

本文地址:https://www.fushidao.cc/wangluobiancheng/3214.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 科站长 版权所有冀ICP备14023439号