在网页中鼠标滚动的干扰swf问题

本文介绍了一种解决FlashMap地图缩放时鼠标滚轮引起页面整体滚动的问题的方法。通过在ActionScript中嵌入JavaScript代码,取消地图对象上的默认滚动事件,确保地图对象无论部署在哪种网页环境中都能稳定工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用flash map作地图缩放的时候,出现了一个很恼人的问题,就是在图面上进行鼠标滚轴滚动时,整个页面会跟着卷动

  在使用flash map作地图缩放的时候,出现了一个很恼人的问题,就是在图面上进行鼠标滚轴滚动时,整个页面会跟着卷动,造成地图对象上上下下的跑,要不时的去调整,这对使用者来说会很烦燥。

  要解决这个问题,必须在地图对象上取消页面的预设卷动事件,为了让地图对象发布时不必在页面上加上javascript码,我选择了把javascript码全部嵌在actionscript中,如此一来,不论地图对象放在那个网页上,都能很快的正常运作。

下面是程序代码。

 

 
  1. // 要执行的javascript码   
  2. private static var _jsInit:XML =   
  3.     <script>   
  4.     <![CDATA[   
  5.         // 参数为地图物件的object id   
  6.         function (objId) {   
  7.             // 取得地图对象的参考   
  8.             var obj = document.getElementById(objId);   
  9.                
  10.             // 滚轮事件的处理函式   
  11.             function preventDefault(e) {   
  12.                 // 下面的程序代码让滚轴事件发生在地图对象时,就取消预设的页面卷动行动,   
  13.                 // 可以在ff,ie上执行   
  14.                 if (window.event) {   
  15.                     window.event.returnValue = false;   
  16.                 }   
  17.                 if (e && e.preventDefault) {   
  18.                     e.preventDefault();   
  19.                 }   
  20.             }   
  21.                
  22.             // 挂上事件处理,这里的作法可在大多数的主要浏览器上执行,包括ff,ie   
  23.             if (obj.addEventListener) {   
  24.                 obj.addEventListener('DOMMouseScroll', preventDefault, true);   
  25.             } else if (obj.attachEvent) {   
  26.                 obj.attachEvent('onmousewheel', preventDefault, true);   
  27.             } else {   
  28.                 obj['onmousewheel'] = preventDefault;   
  29.             }   
  30.         }   
  31.     ]]>   
  32.     </script>   
  33. ;   
  34.   
  35. // 执行javascript程序代码   
  36. ExternalInterface.call(_jsInit, ExternalInterface.objectID);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值