鼠標(biāo)滾輪事件
mousewheel事件粥惧,可以在任何元素上觸發(fā)键畴,最終會(huì)冒泡到document(IE8)或window(IE9、Opera突雪、Chrome等)對(duì)象起惕。
與mousewheel事件對(duì)應(yīng)的event對(duì)象除了包含鼠標(biāo)事件的所有標(biāo)準(zhǔn)信息之外,還包含一個(gè)特殊的wheelDelta屬性咏删;當(dāng)用戶向前滾動(dòng)鼠標(biāo)滾輪時(shí)惹想,wheelDelta是120的倍數(shù),當(dāng)用戶向后滾動(dòng)鼠標(biāo)滾輪時(shí)督函,wheelDelta是-120的倍數(shù)嘀粱。
栗子:
? ? ? ?Event.addHnadler(document, "mousewheel", function (event) {
? ? ? ?event = EventUtil.getEvent(event);
? ? ? ?alert(event.wheelDelta);
? ? ? ?});
注意:
鼠標(biāo)滾輪事件在IE和谷歌瀏覽器Chrome下是通過onmousewheel這個(gè)事件實(shí)現(xiàn)的激挪,但是Firefox下卻不識(shí)別onmousewheel,在Firefox瀏覽器中锋叨,支持一個(gè)名為DOMMouseScroll的事件垄分,也是在鼠標(biāo)滾輪滾動(dòng)時(shí)觸發(fā),有關(guān)鼠標(biāo)滾輪的信息保存在detail屬性中娃磺,當(dāng)向前滾動(dòng)滾輪時(shí)锋喜,其值為-3的倍數(shù),當(dāng)向后滾動(dòng)滾輪時(shí)豌鸡,其值為3的倍數(shù)
在IE和Chrome下通過event.wheelDelta的返回值可以知道滾輪是向上滾的還是向下滾的
當(dāng)返回值為正值的時(shí)候嘿般,說明是向上滾
當(dāng)返回值是負(fù)值的時(shí)候,說明是向下滾
但是對(duì)火狐下并不起作用涯冠,在火狐下需要通過event.detail來知道滾輪是向上滾的還是向下滾炉奴,火狐下還有一點(diǎn)不同:
當(dāng)返回值為正值的時(shí)候,說明是向下滾
當(dāng)返回值是負(fù)值的時(shí)候蛇更,說明是向上滾
瀏覽器內(nèi)核
瀏覽器內(nèi)核分成兩部分渲染引擎和js引擎瞻赶,由于js引擎越來越獨(dú)立,內(nèi)核就傾向于只指渲染引擎
渲染引擎是一種對(duì)HTML文檔進(jìn)行解析并將其顯示在頁面上的工具
渲染引擎:
?firefox使用gecko引擎
?IE使用Trident引擎
?2015年微軟推出自己新的瀏覽器派任,原名叫斯巴達(dá)砸逊,后改名edge,使用edge引擎
?opera最早使用Presto引擎,后來?xiàng)売?/p>
?chrome\safari\opera使用webkit引擎
?13年chrome和opera開始使用Blink引擎
js引擎:
?老版本IE使用Jscript引擎
?IE9之后使用Chakra引擎
?edge瀏覽器仍然使用Chakra引擎
?firefox使用monkey系列引擎
?safari使用的SquirrelFish系列引擎
?Opera使用Carakan引擎
?chrome使用V8引擎掌逛。nodeJs其實(shí)就是封裝了V8引擎