1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 火狐浏览器不支持html5 这样写 火狐浏览器不支持?

火狐浏览器不支持html5 这样写 火狐浏览器不支持?

时间:2024-05-04 23:36:13

相关推荐

火狐浏览器不支持html5 这样写   火狐浏览器不支持?

DOMMouseScroll 是FF支持的独有滚轮事件,mouseWheel是以前IE和使用webkit内核浏览器支持的滚轮事件,现在的最新的现代浏览器支持wheel事件。

下面是MDN提供的滚轮事件跨浏览器兼容处理:

(function(window,document) {

var prefix = "", _addEventListener, support;

// detect event model

if ( window.addEventListener ) {

_addEventListener = "addEventListener";

} else {

_addEventListener = "attachEvent";

prefix = "on";

}

// detect available wheel event

support = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel"

document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel"

"DOMMouseScroll"; // let's assume that remaining browsers are older Firefox

window.addWheelListener = function( elem, callback, useCapture ) {

_addWheelListener( elem, support, callback, useCapture );

// handle MozMousePixelScroll in older Firefox

if( support == "DOMMouseScroll" ) {

_addWheelListener( elem, "MozMousePixelScroll", callback, useCapture );

}

};

function _addWheelListener( elem, eventName, callback, useCapture ) {

elem[ _addEventListener ]( prefix + eventName, support == "wheel" ? callback : function( originalEvent ) {

!originalEvent && ( originalEvent = window.event );

// create a normalized event object

var event = {

// keep a ref to the original event object

originalEvent: originalEvent,

target: originalEvent.target || originalEvent.srcElement,

type: "wheel",

deltaMode: originalEvent.type == "MozMousePixelScroll" ? 0 : 1,

deltaX: 0,

deltaY: 0,

deltaZ: 0,

preventDefault: function() {

originalEvent.preventDefault ?

originalEvent.preventDefault() :

originalEvent.returnValue = false;

}

};

// calculate deltaY (and deltaX) according to the event

if ( support == "mousewheel" ) {

event.deltaY = - 1/40 * originalEvent.wheelDelta;

// Webkit also support wheelDeltaX

originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX );

} else {

event.deltaY = originalEvent.deltaY || originalEvent.detail;

}

// it's time to fire the callback

return callback( event );

}, useCapture || false );

}

})(window,document);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。