我试图在画布上使用鼠标滚轮时阻止窗口滚动。我试着像这样禁用它:
document.getElementById( "canvasId" ).onmousedown = function(event){
event.preventDefault();
};
还有其他一些方法,但没有任何作用可见:
使浏览器窗口变小,以便有一个滚动条,然后将鼠标滚轮放在画布上,它将使窗口滚动。如何让画布接收轮子信息但阻止窗口滚动?
我使用的是jquery(此处未显示)。
答案 0 :(得分:7)
您可以使用wheel
事件。您可能需要使用mousehweel
代替other browsers而不是Firefox。
document.getElementById( "canvasId" ).onwheel = function(event){
event.preventDefault();
};
document.getElementById( "canvasId" ).onmousewheel = function(event){
event.preventDefault();
};

html, body {height:200%} canvas {border:4px solid red}

<canvas id="canvasId"></canvas>
&#13;
$("#canvasId").bind("wheel mousewheel", function(e) {e.preventDefault()});
&#13;
html, body {height:200%} canvas {border:4px solid red}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvasId"></canvas>
&#13;