flexpaper滚动的时候禁止浏览器滚动
2015-07-01 00:43
169 查看
最近做一个项目,需要使用flexpaper来做pdf在线浏览,但是每当鼠标滚轮在flash部位滚动的时候,整个页面也开始滚动起来,特别是chrome浏览器更是坑爹,花了好半天才找出勉强解决的方法,分享一下代码,如有更好的解决方案,求求给我建议。
var isFF = window.navigator.userAgent.toLowerCase().indexOf('firefox'); var isChrome = window.navigator.userAgent.indexOf("Chrome"); var mousewheel=function(event) { var event = event ? event : window.event; var obj = event.srcElement || event.target; if(obj.type == "application/x-shockwave-flash" || obj.type == ""){ if($FlexPaper().getCurrPage()<$FlexPaper().getTotalPages()+1){ if(document.all){ event.cancelBubble = true; event.returnValue = false; event.preventDefault(); event.stopPropagation(); }else if(isChrome>0){ document.body.style.overflow="hidden"; event.stopPropagation(); }else{ event.preventDefault(); event.stopPropagation(); } } } } function onloaded(){ document.getElementsByTagName('object')[0].focus(); document.getElementsByTagName('object')[0].onmouseover = function(){ this.focus(); } if(isFF > 0){ document.body.addEventListener("DOMMouseScroll", mousewheel, false); }else if(isChrome >0){ document.body.style.overflow="hidden"; document.getElementsByTagName('object')[0].onmousewheel=mousewheel; document.body.onmousewheel = function(){ document.body.style.overflow='auto'; } document.body.onclick = function(){ document.body.style.overflow='auto'; } }else{ document.body.onmousewheel=mousewheel; } } window.onload = function(){ onloaded(); }
相关文章推荐
- Site.ForProductsOfApple
- 安装VisiBroker出现This Application has Unexpectedly Quit
- Redis 笔记与总结8 PHP + Redis 信息管理系统(分页+好友关注)
- 智力题(第六集)
- 深入学习Broadcast
- 深入学习Broadcast 2015-07-01 00:39 6人阅读 评论(0) 收藏
- 结构体输入输出-指针
- LeetCode_Stack_Evaluate Reverse Polish Notation
- 在部署有OGG的数据库主机上打数据库patch遇到的问题libclntsh.so.11.1 active
- mongodb 学习笔记 07 -- 数据备份、恢复
- dom4j xml的生成与解析
- 动态修改 NodeJS 程序中的变量值
- c语言--基础001--while循环
- java线程
- eclipse的历史版本及下载
- 学习笔记_Java_day13_三层的HelloWorld程序(15)--不错,整体三层架构学习
- 简单的排序算法(冒泡、选择、插入)
- allegro16.6使用汇总
- 今天上了一课,明白了没有不可能的事情
- JVM学习笔记(1)——类加载器ClassLoader