[AS3]as3中mousewheel事件失效(wmode=transparent)因素
目前想到的解决方法,监听页面的鼠标中轮事件,然后回传给flash
function addEvent(elem, type, handler) {
type = type.replace(/^on/, '');
if (elem.attachEvent) {
elem.attachEvent('on' + type, handler);
} else if (elem.addEventListener) {
elem.addEventListener(type, handler, false);
}
}
//支持非IE、firefox浏览器
!(function() {
var swfEl = getEl('God_main');
var ua = navigator.userAgent.toLowerCase();
if (swfEl.addEventListener && !/(ie|opera)/.test(ua)) {
var eventType = /firefox/.test(ua) ? 'DOMMouseScroll' : 'mousewheel';
addEvent(swfEl, eventType, handleWheel);
}
})();
function handleWheel(event) {
var delta = /firefox/.test(navigator.userAgent.toLowerCase()) ? -event.detail : event.wheelDelta/40;
var swfEl = getEl('swfId');
swfEl.mouseWheel(delta);
}
AS中添加代码:
ExternalInterface.addCallback('mouseWheel', mouseWheelCallback);
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例