不妨运行一下,我的问题是:在 show() 函数里 的 div.onclick = menuClick; 为什么没有绑定成功! 或是绑定成功了,没有表现
出来,我曾经试过将:
<div ID="popUpMenuHTML" style="display:none;">
改为:
<div ID="popUpMenuHTML" style="display:block;">
时,可以看到响应效果,为什么在 menu状态下,就看不到了呢?
出来,我曾经试过将:
<div ID="popUpMenuHTML" style="display:none;">
改为:
<div ID="popUpMenuHTML" style="display:block;">
时,可以看到响应效果,为什么在 menu状态下,就看不到了呢?
<html>
<head><SCRIPT>
var oPopup;
function popUpMenu()
{
var menu = event.srcElement; //获得被单击的 Menu
oPopup = window.createPopup(); //创建popUpMenu
var div = document.all.popUpMenuHTML;
var height = div.firstChild.childNodes.length*24; //计算popUp的高度
oPopup.show(0, menu.offsetHeight, 100, height, menu); //显示
oPopup.document.body.innerHTML = div.innerHTML; //给popUpMenu填充HTML
div = oPopup.document.all.mm;
for(var i=0; i<div.childNodes.length; i++)
div.childNodes[i].onclick = function(){parent.show(this);}
}
function menuClick()
{
alert("menuClick"); //一个检测函数
}function show(e) //在网页加载时被调用
{
alert(e.innerHTML);
}
</SCRIPT>
</head>
<body>
<span id="span01" onclick="popUpMenu()">
ClickMenu
</span><div ID="popUpMenuHTML" style="display:none;">
<div id=mm style="border:2px outset #D6D3CE;">
<DIV STYLE="background:#d6d3ce; border:1px solid #D6D3CE; padding:1px;width:300px; font-family:verdana; font-size:70%;">
<SPAN > 体育新闻</SPAN>
</DIV>
<DIV STYLE="background:#d6d3ce; border:1px solid #D6D3CE; padding:1px;width:300px; font-family:verdana; font-size:70%;">
<SPAN > 娱乐新闻</SPAN>
</DIV>
</div><body>
</html>
关于 child 与 parent 的关系,我发现是很容易搞的混乱的!
我想问一下:
我写了一个 menu 控件,menu.htc.
然后menu.htc 里有下面的部分代码:function menuClick()
{
alert("menuClick"); //一个检测函数
}
function popUpMenu() {
....
for(var i=0; i<div.childNodes.length; i++)
div.childNodes[i].onclick = menuClick; //显然这儿是无法引用到 menuClick的。
.....
}
那我应该如何引用呢?不知道.htc 文件 和 .htm 文件是什么关系。