http://topic.csdn.net/u/20071101/15/30a12801-1f7f-4d8c-8f5a-8947bc2dcfa8.html
主页面:
//控件
<object classid= "clsid:3BBE5C24-0908-4DA4-905F-3A83D4E1695F " codebase= "qmmap.cab#version=2,3,0,0 "
id= "MapMainView " style= "width: 100%; height: 100%; " type= "application/x-oleobject "
viewastext width= "14 " height= "14 ">
<param name= "_cx " value= "270 ">
<param name= "_cy " value= "270 ">
<param name= "ScrollBar Visible " value= "1 ">
<param name= "ProgressBar Visible " value= "1 ">
<param name= "Scale Visible " value= "1 ">
<param name= "Compass Visible " value= "0 ">
<param name= "Scale Position " value= "4 ">
<param name= "Compass Position " value= "0 ">
</object>
/* 控件类 */
var MAP ={
handle:document.getElementById( "MapMainView "),
}
//给控件的Onclick事件增加一个相关操作
MAP.handle.attachEvent( "Onclick ",MAP.Onclick);
//主窗体的操作
MAP.Onclick = function(nCnt, nOperType, Value)
{
alert(nCnt+ " ¦ "+nOperType+ " ¦ "+Value+ " ¦main ");
}
--------------------------------------------------------------
主页面弹出的非模态窗体:
var mw = window.dialogArguments;
//取得地图对象
var qmap = mw.MAP.handle;
//给控件的Onclick事件再增加一个相关操作
qmap.attachEvent( "Onclick ",fnOnclick);
//非模态窗体的操作
function fnOnclick(nCntx, nOperTypex, Valuex)
{
alert(nCntx+ " ¦ "+nOperTypex+ " ¦ "+Valuex+ " ¦popmain ");
}
当触发控件Onclick事件后 应当抛出相等哦两个alert结果
在ie6两次抛出的值不同,且主窗体抛出的值异常
如:
正常(模态窗体) 异常(主窗体)
1 ¦1 ¦121432243,29869759 ¦popmain 1 ¦1 ¦1 ¦main
2 ¦2 ¦121432243,29869759,121433459,29869018 ¦popmain 2 ¦2 ¦2 ¦main
2 ¦3 ¦121432243,29869759,121433459,29869018 ¦popmain 2 ¦2 ¦3 ¦main
2 ¦4 ¦121432243,29869759,121433459,29869018 ¦popmain 2 ¦2 ¦4 ¦main
2 ¦5 ¦121432243,29869759,121433459,29869018 ¦popmain 2 ¦2 ¦5 ¦main
在ie7则均正常
跟踪了一下(抛出事件——〉模态子窗口执行-〉父窗口执行-〉返回控件),在控件Invoke事件抛出前,看了一下要传递的参数,然后事件抛出,交由自行定义的事件处理程序,最后控制权返回到控件,此时发现传入的参数内容发生了改变
IE7中似乎修正了这个问题
但是开发最好还是在ie6上实现 因为需求上这样比较容易实现
求助!