在JavaScript中,给HTML标签添加事件主要有以下几种方式:
一、基础概念
<button>
元素:<button>
元素:onclick
事件关联起来。但这种方式不利于代码的维护和复用。addEventListener
和removeEventListener
方法。这是现代JavaScript中推荐的事件处理方式。addEventListener
和removeEventListener
方法。这是现代JavaScript中推荐的事件处理方式。click
(点击)、dblclick
(双击)、mousedown
(鼠标按下)、mouseup
(鼠标抬起)、mousemove
(鼠标移动)、mouseover
(鼠标移入)、mouseout
(鼠标移出)等。keydown
(按键按下)、keyup
(按键抬起)、keypress
(按键按下并松开,在现代浏览器中部分功能已被keydown
和keyup
取代)。focus
(元素获得焦点)、blur
(元素失去焦点)、submit
(表单提交)、change
(表单元素值改变)等。load
(页面加载完成)、unload
(页面卸载)、resize
(窗口大小改变)、scroll
(页面滚动)等。二、优势
addEventListener
等方式将JavaScript代码与HTML结构分离,使得HTML更专注于描述页面的结构,JavaScript专注于处理逻辑,提高了代码的可维护性。handleFirstClick
和handleSecondClick
函数。addEventListener
)可以更好地针对不同浏览器进行兼容性处理。三、应用场景
mouseover
事件来显示商品的放大视图,给“加入购物车”按钮添加click
事件来处理购买逻辑。blur
事件,在用户离开输入框时进行格式验证,如检查邮箱格式是否正确。resize
事件,根据窗口大小调整页面布局,例如在移动设备上隐藏某些不必要的元素或者改变菜单的显示方式。四、常见问题及解决方法
document.getElementById
时,传入的ID不存在。window.onload
事件处理程序中,或者将<script>
标签放在HTML文档的底部(在</body>
之前),确保元素已经加载完成。addEventListener
的第三个参数来控制事件是在捕获阶段还是冒泡阶段处理。例如,element.addEventListener('click', function, true)
表示在捕获阶段处理事件,false
(默认值)表示在冒泡阶段处理事件。event.stopPropagation()
方法来阻止事件进一步传播。event.stopPropagation()
,点击按钮时会先打印“Child clicked”,然后打印“Parent clicked”,因为事件会从按钮冒泡到父元素。使用event.stopPropagation()
后,只会打印“Child clicked”。领取专属 10元无门槛券
手把手带您无忧上云