事件处理

事件处理是用户交互的核心机制,通过监听和响应用户操作来实现动态交互效果。

常见事件类型

事件类别 具体事件 应用场景
鼠标事件 click点击、dblclick双击、mouseover悬停、mouseout离开、mousedown按下、mouseup释放 按钮点击、菜单展开、悬停效果
键盘事件 keydown按键按下、keyup按键释放、keypress按键按下并释放 快捷键、输入验证、游戏控制
表单事件 submit提交、change值改变、focus获得焦点、blur失去焦点 表单验证、自动补全、动态更新
触屏事件 touchstart触摸开始、touchmove触摸移动、touchend触摸结束 移动端滑动、缩放、拖拽

事件处理实现方式

原生JavaScript

直接使用DOM API处理事件,无需额外库

function setupEventListeners() { // 为按钮添加点击事件 const button = document.querySelector('#myButton'); button.addEventListener('click', function(event) { console.log('按钮被点击了!'); // 执行相关操作 }); // 为输入框添加键盘事件 const input = document.querySelector('#searchInput'); input.addEventListener('keyup', function(event) { if (event.keyCode === 13) { // Enter键 performSearch(); } }); }

Vue.js实现

使用Vue的声明式事件绑定,更简洁直观

<!-- Vue模板 --> <template> <div> <button @click="handleClick">点击我</button> <input v-model="searchText" @keyup.enter="performSearch" placeholder="搜索..." /> <div @mouseover="handleMouseOver" @mouseout="handleMouseOut"> 悬停区域 </div> </div> </template> <script> export default { data() { return { searchText: '' } }, methods: { handleClick() { console.log('按钮被点击了!'); // 执行相关操作 }, performSearch() { console.log('执行搜索:', this.searchText); }, handleMouseOver() { console.log('鼠标悬停'); }, handleMouseOut() { console.log('鼠标离开'); } } } </script>
← Interaction Overview Interaction Forms →