我发现这个问题是在火狐自动更新到FF17之后出现的,我的操作系统是MAC,OSX 10.8.2。
有什么建议和技巧吗? 问题:
我使用javascript中的preventDefault()和stopPropagation()来取消鼠标滚轮的默认滚动事件,它可以正常工作。但是当鼠标悬停在Flash对象上并使用鼠标滚轮时,它就不能工作了。
事实上,我在Flash中有一个面板,可以通过鼠标滚轮进行控制。Flash对象嵌入在html文档的中间,你需要向下滚动浏览器才能查看flash内容。当我专注于flash内容并通过鼠标滚轮滚动时,浏览器也在滚动,并使flash内容超出视野范围。 复现问题:
1. 在html的底部放置一个简单的空白Flash对象。确保你需要向下滚动浏览器才能查看Flash对象。
通过上述脚本,鼠标滚轮只能控制Flash对象,而不能控制浏览器。
有什么建议和技巧吗? 问题:
我使用javascript中的preventDefault()和stopPropagation()来取消鼠标滚轮的默认滚动事件,它可以正常工作。但是当鼠标悬停在Flash对象上并使用鼠标滚轮时,它就不能工作了。
事实上,我在Flash中有一个面板,可以通过鼠标滚轮进行控制。Flash对象嵌入在html文档的中间,你需要向下滚动浏览器才能查看flash内容。当我专注于flash内容并通过鼠标滚轮滚动时,浏览器也在滚动,并使flash内容超出视野范围。 复现问题:
1. 在html的底部放置一个简单的空白Flash对象。确保你需要向下滚动浏览器才能查看Flash对象。
- 为了便于解释,您可以使用此JavaScript停止页面上所有鼠标滚轮活动: (如果需要,请按“空格键”到达html底部的flash对象。) window.addEventListener('DOMMouseScroll', wheel, false); window.addEventListener('mousewheel', wheel, false); window.addEventListener('MozMousePixelScroll', wheel, false); window.addEventListener('wheel', wheel, false); function cancelEvent(e) { e = e ? e : window.event; if (e.stopPropagation)e.stopPropagation(); if (e.preventDefault)e.preventDefault(); e.cancelBubble = true; e.cancel = true; e.returnValue = false; return false; }
- 将鼠标滚轮悬停在Flash对象上并使用它,您会发现浏览器也在滚动。
通过上述脚本,鼠标滚轮只能控制Flash对象,而不能控制浏览器。