如何动态创建activeX控件?

shukinwg 2011-08-31 03:25:57
自己做了一个activeX控件,它有一个右键弹出菜单,动态调用时为何总是弹不出右键菜单?另外,也不知道如何设置div的背景图片,使之自动调整其大小与div相同,但不要重复。下面是我的代码。请各位指教,问题出在哪?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Add and remove div by Javascript demo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">

/////////////////////////////////////////////
var MoveDiv = function(){};

/**
* @deprecated 移动div的方法
* @param{id} id 要移动的层ID
*/
MoveDiv.Move=function(id)
{
var o =document.getElementById(id);

o.onselectstart = function() { return(false);};

o.onmousedown = function(e)
{
e = e||window.event;
var x=e.layerX||e.offsetX;
var y=e.layerY||e.offsetY;

document.onmousemove = function(e)
{
e=e||window.event;
o.style.left=(e.clientX-x)+"px";
o.style.top=(e.clientY-y)+"px";
};

document.onmouseup=function()
{
document.onmousemove=null;
};
};
}


////////////////////////////////////////////////////////////////////////
divs=0;

function addDiv(){

DIV = document.createElement("div");

DIV.id="div"+divs;
DIV.style.position = "absolute";
DIV.style.width = "20px";
DIV.style.height = "20px"
// DIV.style.cursor="default";
// DIV.style.cursor = "move";
DIV.style.background="url(1a.jpeg) no-repeat";// 不知道怎样设置div背景使之与div大小相同?
// DIV.style.z-index=1;
DIV.style.border="dotted";
DIV.onmousedown=function (){MoveDiv.Move(DIV.id)};

SignID="SignQm"+divs;

var str="xxx<OBJECT ID=\""+SignID+"\" CLASSID=\"CLSID:A5DD9BC7-196B-4816-9458-EDC38CF4719C\">????</OBJECT>";
DIV.innerHTML+=str;
alert(str);
document.body.appendChild(DIV);

divs++;
}
///////////////////////////////////////////////////////////////////

var removeAllDiv = function(){
for(i=0; i < divs; i++){

var div=document.getElementById("div" + i);

document.body.removeChild(div);
}
divs = 0;
};
</script>
</head>
<body>
这样静态创建的object可以正常弹出我的activex控件右键菜单:
<div id="SignQm" style="position: absolute;" onmousedown="MoveDiv.Move('SignQm')">
静态创建 <OBJECT ID="SignQm" CLASSID="CLSID:A5DD9BC7-196B-4816-9458-EDC38CF4719C"></OBJECT>
</div>


//为什么这种方式创建的object却不能弹出我的activex控件右键菜单?
<input type="button" onclick="addDiv();" value="Add"/>
<input type="button" onclick="removeAllDiv();" value="Remove all"/>

</body>
</html>
...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧