jsfiddleで再現できないので、ウェブサイトを添付しました。iframeのopenzoomコンポーネントにマウスを合わせ、マウスでスクロールインまたはスクロールアウトすると、ページも移動します。iframe内でページがスクロールしないようにするにはどうすればよいですか?
main.htmlを開きます
jsfiddleで再現できないので、ウェブサイトを添付しました。iframeのopenzoomコンポーネントにマウスを合わせ、マウスでスクロールインまたはスクロールアウトすると、ページも移動します。iframe内でページがスクロールしないようにするにはどうすればよいですか?
main.htmlを開きます
BrandonAaronのMousewheelプラグインを使用することで可能になります。
これがコードです。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
</head>
<body>
<p>...</p>
<iframe src="viewer.htm" id="viewer" width="565px" height="200px" marginwidth="0px" marginheight="0" frameborder="0"></iframe>
<p>...</p>
<script src="https://github.com/brandonaaron/jquery-mousewheel/raw/master/jquery.mousewheel.js"></script>
<script>
$(function() {
var viewer = $('#viewer'),
height = viewer.height(),
scrollHeight = viewer.get(0).scrollHeight;
viewer.bind('mousewheel', function(e, d) {
if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
e.preventDefault();
}
});
});
</script>
</body>
</html>
編集:
私のコピーへのリンク:http://testing.dpwebdev.co.uk/stackoverflow/main.html