2009-08-13 88 views
2

我确定这是一个常见问题,但我在其他地方找不到答案。防止页面在Flash对象内滚动时滚动

我有一个Flash对象嵌入长网页。我在Flash中侦听MOUSE_WHEEL事件,并相应地滚动我的Flash内容。但是,当我滚动Flash对象时,网页也会滚动。

有没有什么办法可以防止这种行为,即当Flash对象有焦点时锁定网页的滚动位置?我宁愿不必使用JavaScript。

+0

为什么不能用JavaScript? – 2009-08-14 00:31:16

回答

3

我不认为这是不可能的,没有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(); 
} 
+0

谢谢,我不知道你可以取消JavaScript中的事件 – Cameron 2009-08-14 22:32:00