首页编程jsevent 前端js之event事件(一)

jsevent 前端js之event事件(一)

编程之家2023-11-0771次浏览

大家好,今天小编来为大家解答jsevent这个问题,前端js之event事件(一)很多人还不知道,现在让我们一起来看看吧!

jsevent 前端js之event事件(一)

如何在js代码中,如何获取event

event是事件对象,比如你按了某个键(或者单击等,反正能触发事件的),那你在处理时候可能会需要一些信息,比如说是哪个元素被触发的,这个元素也就是你所问的event.srcElement(事件的源对象),通过它可以得到事件的对象,如果你是按键事件如keyup,keydown,那么在event.keyCode会得到这个键的ascii码,如果是鼠标事件,可能还会有当前鼠标的坐标等等,总之,这个对象里面包含了事件发生时的各种数据。

前端js之event事件(一)

前言:有些事情看上去简单甚至于平淡无奇,比如说爱情或者我们的生活可实际上却很复杂。js里面的event也是一样,不信就打印一下一个平淡无奇的onclick里面包含的event,只要在方法内传入参数event,或者e,还有ev然后打印,你就会发现一个新的天地。

核心内容:多种事件的运用场景解析

开始了

jsevent 前端js之event事件(一)

1吹牛逼

2吹牛逼

3也许我别来,你自然无恙

jsevent 前端js之event事件(一)

A:复杂多样的鼠标事件

应用:鼠标事件很多,平时用个点击就以为用过那就大错特错了,鼠标事件不仅有原生的点击,双击,移动,进入,移出,悬浮,可以打印event里面的type查看,还有一些比如jq封装的事件,这些事件而且会相互触发,比如移动move是最容易被其他事件触发,或者原生的拖拽事件,不仅有自己的事件,而且会触发元素上的很多其他事件。

B:为什么会这样呢?

解析:第一本身不同事件类型但是相近的鼠标操作就会同时触发,第二在多层dom结构中的事件,由于本身事件的冒泡机制,由最底层的元素向上冒泡,到父元素到document到window,以至于类似事件不同方法但是同时触发

C:怎么解决

办法:比如现象一:只想触发最底层的元素的点击事件,不触发其父元素的点击事件,解决方案阻止冒泡。现象二:类型相近事件相互触发,导致方法重复执行,解决方案在易促发的事件的方法中可以加入条件判断,是否已经执行过相同操作,如果有要么直接return,如果还有其他操作判断,可以将可能重复的那个操作进行重置。现象三:原生方法事件以及简单事件相互交叉影响导致最后鼠标事件失灵,定义的方法不能执行,页面不可控制,解决方案单个功能实现后进行方法设为null如dom.onclick=null,然后设置dom对象释放捕获。

event事件实在太多太复杂了,正如人生一样,可是有时候多一点细心多一点耐心,没事多打打断点和测试,我们会看得更加清晰,正如我若别来,你自然无恙,越是纠结,越是沉沦,往往简单最好。

事件人生,人生事件,简单复杂,复杂简单,一正一反,经历了自然会成长,花香了自然蝶飞舞。

js中的eventType有几种

有很多种,下面列举几种:

onClick IE3|N2|O3鼠标点击事件,多用在某个对象控制的范围内的鼠标点击

onDblClick IE4|N4|O鼠标双击事件

onMouseDown IE4|N4|O鼠标上的按钮被按下了

onMouseUp IE4|N4|O鼠标按下后,松开时激发的事件

onMouseOver IE3|N2|O3当鼠标移动到某对象范围的上方时触发的事件

onMouseMove IE4|N4|O鼠标移动时触发的事件

onMouseOut IE4|N3|O3当鼠标离开某对象范围时触发的事件

onKeyPress IE4|N4|O当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象]

onKeyDown IE4|N4|O当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象]

onKeyUp IE4|N4|O当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象]

js中fireEvent和onclick的区别

DOM的fireEvent和onclick(这只是个代表)有以下区别:

1. onclick需要DOM真正添加了onclick事件,否则会报“对象不支持此属性或方法”错误

2. onclick不会引起IE的冒泡过程,而fireEvent会引起冒泡,fireEvent更贴近用户真实的行为触发

3.由第二条得出,fireEvent在即使DOM没有click事件也可以fireEvent,而不会报错(更贴近用户真实行为)

最后可以拿下面的代码测试:

<ul onclick='alert(event.srcElement.innerHTML);'><li id='id1' onclick='alert(1);'>i am one;</li><li id='id2'>i am two;</li><li id='id3'>i am three;</li></ul><button onclick='document.getElementById("id1").onclick();'>click me!</button><button onclick='document.getElementById("id1").fireEvent("onclick")'>fireEvent!</button>

原文:http://www.js8.in/731.html

感谢您花时间阅读本文!我们希望通过对jsevent的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。

sem优化,sem优化都有什么手段呢百度推广联系电话,百度广告推广电话