好东西呀好东西,flash的滚轮事件不影响页面滚动
2011-08-16 15:42
239 查看
做一个flash,里面用到了滚轮。
将flash放到页面里面,在flash里面滚动滚轮,发现页面也滚动了。
真是十分烦人啊。好在有牛人做出了下面的东西。
function isOverSwf(mEvent)
{
var elem;
if (mEvent.srcElement) {
elem = mEvent.srcElement;
} else if (mEvent.target) {
elem = mEvent.target;
}
if (elem.nodeName.toLowerCase() == "object" || elem.nodeName.toLowerCase() == "embed") {
if (elem.getAttribute("classid") == "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000") {
return true;
}
if (elem.getAttribute("type") == "application/x-shockwave-flash") {
return true;
}
}
return false;
}
function onMouseWheel(event)
{
if (!event)
event = window.event;
if (isOverSwf(event)) {
return cancelEvent(event);
}
return true;
}
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;
}
if (window.addEventListener) window.addEventListener('DOMMouseScroll', onMouseWheel, false);
window.onmousewheel = document.onmousewheel = onMouseWheel;
复制这些代码存为一个js文件。然后再那个页面添加
<script type="text/javascript" src="##该js地址##"></script>
就万事大吉了
将flash放到页面里面,在flash里面滚动滚轮,发现页面也滚动了。
真是十分烦人啊。好在有牛人做出了下面的东西。
function isOverSwf(mEvent)
{
var elem;
if (mEvent.srcElement) {
elem = mEvent.srcElement;
} else if (mEvent.target) {
elem = mEvent.target;
}
if (elem.nodeName.toLowerCase() == "object" || elem.nodeName.toLowerCase() == "embed") {
if (elem.getAttribute("classid") == "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000") {
return true;
}
if (elem.getAttribute("type") == "application/x-shockwave-flash") {
return true;
}
}
return false;
}
function onMouseWheel(event)
{
if (!event)
event = window.event;
if (isOverSwf(event)) {
return cancelEvent(event);
}
return true;
}
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;
}
if (window.addEventListener) window.addEventListener('DOMMouseScroll', onMouseWheel, false);
window.onmousewheel = document.onmousewheel = onMouseWheel;
复制这些代码存为一个js文件。然后再那个页面添加
<script type="text/javascript" src="##该js地址##"></script>
就万事大吉了
相关文章推荐
- 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
- 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
- 页面滚动事件的使用
- 如何给webApp应用添加动态水印?并且不影响页面的交互事件
- jquery 响应不同浏览器 鼠标滚轮上下滚动事件 相对的操作
- ReactJS 监听页面滚动事件
- 鼠标滚轮控制页面滚动(山寨苹果官网iPhone5s的滚屏动画实例)
- js:事件、页面事件、表单事件、滚动字幕等事件函数
- tkinter绑定鼠标滚轮滚动事件
- 页面添加蒙版,但是不影响页面其他事件响应
- 微信小程序弹出自定义模态框,禁止底部页面滚动事件
- 解决移动端页面滚动后不触发touchend事件
- js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)
- 如何禁止页面滚动事件
- css滚动滚轮事件
- Delphi 拦截滚轮事件不响应滚轮的上下滚动
- 常用的js插件-配合滚轮事件左右滚动
- 解决ListBox拦截滚轮滚动事件
- 页面中嵌入了Flash时滚动条问题
- 详解使用vue-router进行页面切换时滚动条位置与滚动监听事件