我確定這是一個常見問題,但我在其他地方找不到答案。防止頁面在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