我确定这是一个常见问题,但我在其他地方找不到答案。防止页面在Flash对象内滚动时滚动
我有一个Flash对象嵌入长网页。我在Flash中侦听MOUSE_WHEEL事件,并相应地滚动我的Flash内容。但是,当我滚动Flash对象时,网页也会滚动。
有没有什么办法可以防止这种行为,即当Flash对象有焦点时锁定网页的滚动位置?我宁愿不必使用JavaScript。
我确定这是一个常见问题,但我在其他地方找不到答案。防止页面在Flash对象内滚动时滚动
我有一个Flash对象嵌入长网页。我在Flash中侦听MOUSE_WHEEL事件,并相应地滚动我的Flash内容。但是,当我滚动Flash对象时,网页也会滚动。
有没有什么办法可以防止这种行为,即当Flash对象有焦点时锁定网页的滚动位置?我宁愿不必使用JavaScript。
我不认为这是不可能的,没有JavaScript。
无论何时Flash电影改变焦点,您都需要使用ExternalInterface从Flash电影到浏览器进行通信。
然后,对网页陷阱的JavaScript函数,吃鼠标滚轮事件:
if (window.addEventListener)
/** DOMMouseScroll is for mozilla. */
window.addEventListener('DOMMouseScroll', handleWheelEvent, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = handleWheelEvent;
function handleWheelEvent(e){
e.preventDefault();
}
谢谢,我不知道你可以取消JavaScript中的事件 – Cameron 2009-08-14 22:32:00
这里是不需要JavaScript的一个很好的解决方案:
http://www.spikything.com/blog/index.php/2009/11/27/stop-simultaneous-flash-browser-scrolling/
(技术上,它使用JavaScript,但JavaScript是由Flash注入的,所以你不需要自己添加任何内容到HTML页面,换句话说,你需要管理的唯一代码是AS3)。
这似乎适用于我测试过的每个浏览器。
非常酷,谢谢 – fjckls 2013-05-31 10:03:07
为什么不能用JavaScript? – 2009-08-14 00:31:16