2008-12-05 38 views
8

Tôi đang làm việc trên ứng dụng canvas được nhúng trong một trang. Tôi có nó để bạn có thể phóng to vào bản vẽ với con lăn chuột nhưng tiếc là điều này cuộn trang vì nó là một phần của một bài viết.Làm cách nào để ngăn chặn di chuyển con lăn chuột cửa sổ ...?

Có thể ngăn chặn di chuyển con lăn chuột trên cửa sổ khi tôi đang di chuột trên phần tử dom?

Trả lời

9

Đính kèm một event handler cho con lăn chuột (Không Gecko)/DOMMouseScroll (Không IE) và ngăn chặn hành động mặc định của nó (có nghĩa là để di chuyển nội dung):

 
if (element.addEventListener) 
    element.addEventListener("DOMMouseScroll", function(event) { 
     event.preventDefault(); 
    }, false); 
else 
    element.attachEvent("mousewheel", function() { 
     return false; 
    }) 

Hope this helps!

+1

Cảm ơn bạn. Bạn là một huyền thoại! –

+0

và Nếu phần tử là khung nội tuyến có * nội dung cần thiết * có thể cuộn? Vậy thì sao? Trong trường hợp đó, mẹo này không hiệu quả với tôi, làm điều này trên đối tượng khung nội tuyến. – vsync

0

Tôi biết điều này là cũ, nhưng điều này vẫn có thể hữu ích cho các nhà cung cấp dịch vụ.

Tôi đã viết một plugin jQuery để xử lý việc này: $.disablescroll.

Không chỉ xử lý con lăn chuột, mà còn chạm và nhấn các sự kiện thường kích hoạt cuộn.

// disable all scrolling: 
$(window).disablescroll(); 

// enable scrolling again: 
$(window).disablescroll("undo"); 
Các vấn đề liên quan