滚轮事件与浏览器内核

鼠标滚轮事件

mousewheel事件,可以在任何元素上触发,最终会冒泡到document(IE8)window(IE9、Opera、Chrome等)对象。

与mousewheel事件对应的event对象除了包含鼠标事件的所有标准信息之外,还包含一个特殊的wheelDelta属性;当用户向前滚动鼠标滚轮时,wheelDelta是120的倍数,当用户向后滚动鼠标滚轮时,wheelDelta是-120的倍数。

栗子:

       Event.addHnadler(document, "mousewheel", function (event) {

       event = EventUtil.getEvent(event);

       alert(event.wheelDelta);

       });

注意:

鼠标滚轮事件在IE和谷歌浏览器Chrome下是通过onmousewheel这个事件实现的,但是Firefox下却不识别onmousewheel,在Firefox浏览器中,支持一个名为DOMMouseScroll的事件,也是在鼠标滚轮滚动时触发,有关鼠标滚轮的信息保存在detail属性中,当向前滚动滚轮时,其值为-3的倍数,当向后滚动滚轮时,其值为3的倍数

在IE和Chrome下通过event.wheelDelta的返回值可以知道滚轮是向上滚的还是向下滚的

当返回值为正值的时候,说明是向上滚

当返回值是负值的时候,说明是向下滚

但是对火狐下并不起作用,在火狐下需要通过event.detail来知道滚轮是向上滚的还是向下滚,火狐下还有一点不同:

当返回值为正值的时候,说明是向下滚

当返回值是负值的时候,说明是向上滚

浏览器内核

浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎

渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具

渲染引擎:

 firefox使用gecko引擎

 IE使用Trident引擎

 2015年微软推出自己新的浏览器,原名叫斯巴达,后改名edge,使用edge引擎

 opera最早使用Presto引擎,后来弃用

 chrome\safari\opera使用webkit引擎

 13年chrome和opera开始使用Blink引擎

js引擎:

 老版本IE使用Jscript引擎

 IE9之后使用Chakra引擎

 edge浏览器仍然使用Chakra引擎

 firefox使用monkey系列引擎

 safari使用的SquirrelFish系列引擎

 Opera使用Carakan引擎

 chrome使用V8引擎。nodeJs其实就是封装了V8引擎

你可能感兴趣的:(滚轮事件与浏览器内核)