在使用flash map作地图缩放的时候,出现了一个很恼人的问题,就是在图面上进行鼠标滚轴滚动时,整个页面会跟着卷动,造成地图对象上上下下的跑,要不时的去调整,这对使用者来说会很烦燥。
要解决这个问题,必须在地图对象上取消页面的预设卷动事件,为了让地图对象发布时不必在页面上加上javascript码,我选择了把javascript码全部嵌在actionscript中,如此一来,不论地图对象放在那个网页上,都能很快的正常运作。
下面是程序代码。
-
- private static var _jsInit:XML =
- <script>
- <![CDATA[
-
- function (objId) {
-
- var obj = document.getElementById(objId);
-
-
- function preventDefault(e) {
-
-
- if (window.event) {
- window.event.returnValue = false;
- }
- if (e && e.preventDefault) {
- e.preventDefault();
- }
- }
-
-
- if (obj.addEventListener) {
- obj.addEventListener('DOMMouseScroll', preventDefault, true);
- } else if (obj.attachEvent) {
- obj.attachEvent('onmousewheel', preventDefault, true);
- } else {
- obj['onmousewheel'] = preventDefault;
- }
- }
- ]]>
- </script>
- ;
-
-
- ExternalInterface.call(_jsInit, ExternalInterface.objectID);
|