Sen*_*mes 11 flash actionscript-3 mousewheel
基本上,我有在鼠标滚轮上滚动的flash内容.它工作正常,除非浏览器中有其他内容,以便启用浏览器的滚动条 - 在这种情况下,浏览器窗口和我的SWF都在鼠标滚轮上滚动.有没有办法纠正这种行为?
类似的问题在这里问:
这里引用了博客的解决方案:
http://www.spikything.com/blog/index.php/2009/11/27/stop-simultaneous-flash-browser-scrolling/
但该解决方案并不适用于所有浏览器!虽然它适用于某些Windows浏览器,但它在Mac OS X上根本不起作用 - 它在Firefox中注册了鼠标滚轮事件,但它们在Chrome和Safari中根本没有被解雇.
现在我知道(根据官方Adobe InteractiveObject文档)鼠标滚轮据说只在Windows系统上受支持,但默认情况下在Mac OS X上仍会触发该事件.这是否同时滚动错误是不支持的原因?
编辑:在上述解决方案中添加更多信息...
请注意,上述解决方案基本上使用ExternalInterface将以下JavaScript发送到"eval"函数:
var browserScrolling;
function allowBrowserScroll(value) {
browserScrolling = value;
}
function handle(delta) {
if (!browserScrolling) {
return false;
}
return true;
}
function wheel(event) {
var delta = 0;
if (!event) {
event = window.event;
}
if (event.wheelDelta) {
delta = event.wheelDelta / 120;
} else if (event.detail) {
delta = -event.detail / 3;
}
if (delta) {
handle(delta);
}
if (!browserScrolling) {
if (event.preventDefault) {
event.preventDefault();
}
event.returnValue = false;
}
}
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
allowBrowserScroll(true);
Run Code Online (Sandbox Code Playgroud)
这只猫至少在正确的道路上,还是有更好的(即功能齐全的)解决方案?
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |