JS—事件类型(焦点事件、鼠标事件(部分))

JavaScript013

JS—事件类型(焦点事件、鼠标事件(部分)),第1张

【需要注意】虽然focus与blur不冒泡,但是却可以在捕获阶段侦听到它们。

只定义了div2即棕色的那个div的事件

【解释enter与leave】:当鼠标由粉移向棕色时,显示enter,鼠标由棕移向绿时,不显示leave与enter。当移出粉色时,显示leave。

【解释over与out】:当鼠标由粉移向棕色时,显示over,鼠标由棕移向绿时,显示out在显示over,鼠标由绿移向棕时,显示out载显示over。为什么会显示呢?是因为事件冒泡,由棕移向绿时会触发div3的over事件,但是div3并没有定义,所以向上冒泡到div2。所以会显示div2的over事件。

【总结】mouseenter与mouseleave是IE提出的事件,不冒泡。但是mouseover与mouseout事件则通过简单的e.stopPropagation()也无法避免冒泡的现象。

js的监听事件就是相当于注册一个监听器,随时检测对应事件有没有发生,如果发生了自动调用定义好的函数来处理。

一般情况下 监听事件是对应于dom元素而言的,同时也需要声明所监听事件种类。

比如可以为一个按钮设置监听事件,点击之后自动调用相应函数处理。

同时可以在用函数处理时使用事件对象(event object)来获得关于触发这个事件的对象的信息。