当前位置: 首页 > news >正文

Web前端:JavaScript鼠标事件

1. onclick(鼠标单击事件)
  • 触发条件:用户用鼠标左键单击元素时触发

  • 使用场景:按钮操作、菜单展开/关闭、提交表单等

  • 示例代码

    <button id="myButton">点击我</button>
    <script>document.getElementById("myButton").onclick = function() {alert("按钮被点击了!");};
    </script>

2. ondblclick(鼠标双击事件)
  • 触发条件:用户快速连续两次单击元素(双击)

  • 使用场景:编辑内容、放大图片、特殊快捷操作

  • 注意:避免和 onclick 冲突(双击时会先触发两次单击事件)

  • 示例

    element.ondblclick = () => {element.style.fontSize = "24px"; // 双击放大文字
    };

3. onmouseover(鼠标移入事件)
  • 触发条件:鼠标指针进入元素区域时触发

  • 特性:会冒泡(子元素触发时会传播到父元素)

  • 使用场景:显示工具提示、高亮元素

element.onmouseover = () => {element.style.backgroundColor = "yellow";
};
4. onmouseout(鼠标移出事件)
  • 触发条件:鼠标指针离开元素区域时触发

  • 特性:会冒泡

  • 使用场景:恢复元素样式、隐藏提示框

    element.onmouseout = () => {element.style.backgroundColor = "";
    };

5. onmouseenter(鼠标进入事件)
  • 触发条件:鼠标指针进入元素区域时触发(类似 onmouseover

  • 关键区别不冒泡(只在当前元素触发,不传播到父元素)

  • 使用场景:需要精准控制目标元素时

// 父元素不会收到子元素的 enter/leave 事件
parent.onmouseenter = () => console.log("父元素触发");
child.onmouseenter = () => console.log("子元素触发"); 

6. onmouseleave(鼠标离开事件)
  • 触发条件:鼠标指针离开元素区域时触发

  • 关键区别不冒泡

  • 使用场景:与 onmouseenter 配对使用

element.onmouseleave = () => {resetElementStyle(); // 离开时重置样式
};

7. onkeydown(键盘按下事件)
  • 触发条件:键盘按键被按下瞬间触发

  • 关键特性

    • 可检测所有键(包括功能键 Ctrl/Shift/Alt 等)

    • 按住不放会连续触发

 获取按键信息

inputField.onkeydown = (event) => {console.log("按下的键:" + event.key);        // 键名(如 "Enter")console.log("键码:" + event.keyCode);      // 已弃用,但仍有使用console.log("组合键:" + event.ctrlKey);    // 是否按了Ctrl
};
  • 使用场景:快捷键、输入验证、游戏控制

  • 阻止默认行为(如阻止输入):

    if(event.key === " ") event.preventDefault(); // 禁止输入空格

http://www.dtcms.com/a/285205.html

相关文章:

  • 实习十二——协议分层
  • pytorch小记(三十一):深入解析 PyTorch 权重初始化:`xavier_normal_` 与 `constant_`
  • 基于selenium的pyse自动化测试框架
  • MyUI1.0全新现代化 Vue.js 组件库框架上线
  • CAD断层扫描三维重建插件
  • ubuntu启用ssh
  • HD现代机器人与TESOLLO合作推出工业自动化双臂机器人解决方案
  • 控制台输出的JAVA格斗小游戏-面向对象
  • properties中文乱码
  • 细菌实验入门:浓度测定与菌种鉴定技术详解
  • 累和,累积,斐波拉契
  • 如何统一分销价格体系实战指南?
  • 验证损失判断过拟合情况
  • echart设置trigger: ‘axis‘不显示hover效果
  • c#笔记之方法的形参列表以及方法重载
  • 智能外呼系统应用场景
  • Windows 11清理C盘方法大全:磁盘清理/禁用休眠/系统还原点/优化大师使用教程
  • PostgreSQL 中的 pg_trgm 扩展详解
  • docker 安装nacos
  • Content-Type 请求头
  • 求解偏微分方程的傅里叶积分解
  • 【C语言进阶】内存函数
  • app打包ios上架appStore流程
  • 强化第三讲—一元函数微分学的概念
  • vue + Cesium 实现 3D 地图水面效果详解
  • Leetcode刷题营第二十七题:二叉树的最大深度
  • 研二Last Day
  • 【保姆级喂饭教程】idea开发TODO规范
  • 【项目实践08】【事务加锁的问题】
  • 【C++类和对象解密】面向对象编程的核心概念(下)