企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
事件对象存在于事件处理函数中。不同的浏览器获取事件对象的方式也不同,IE始终使用window.event来当做事件对象,非IE浏览器使用事件处理函数的形参当做事件对象。 # 1、获取键盘的keyCode值 ![](https://img.kancloud.cn/1d/25/1d25a2b2aa287a98b36ed15fa9579207_742x308.png) # 2、冒泡事件及阻止冒泡事件的发生 什么是冒泡事件? ![](https://img.kancloud.cn/c0/c1/c0c184cf03330dbe7281f2dacb2bde11_870x459.png) 上述小例子中,点击元素的子元素,会透过子元素触发元素本身的事件,这就是冒泡事件。 有些时候要的就是这个效果,可以不做任何处理;有些时候不希望有冒泡事件发生,那么可以通过事件对象的方法来阻止冒泡的发生。 阻止冒泡事件的发生有: * 标准浏览器使用 evt.stopPropagation(); //evt指的是事件对象 * IE内核浏览器使用 window.event.cancelBubble = true; 可以封装一个兼容各个浏览器的阻止冒泡的方法: ![](https://img.kancloud.cn/12/47/12470f917151cf7cec1149bb2d61634f_751x551.png) # 3、阻止标签的默认行为 默认行为就是html标签的一些默认行为,比如点击a标签会跳转,比如点击了submit按钮表单会提交。这些都属于标签的默认行为。 有些时候,点击了a标签或者submit按钮后不希望执行标签的默认行为,这时候就需要阻止默认行为。 阻止默认行为: 标准浏览器:evt.preventDefault(); IE内核浏览器:window.event.returnValue = false; ![](https://img.kancloud.cn/a4/10/a4108aba82e98bac8652970bb5d666f5_596x269.png) 写兼容各个浏览器的阻止标签默认行为的方法: ![](https://img.kancloud.cn/c1/ff/c1fff70e8450e464ba1caaa6eae40fd8_745x563.png)