不妨运行一下,我的问题是:在 show() 函数里 的 div.onclick = menuClick; 为什么没有绑定成功! 或是绑定成功了,没有表现
出来,我曾经试过将:
<div ID="popUpMenuHTML" style="display:none;">
改为:
<div ID="popUpMenuHTML" style="display:block;">
时,可以看到响应效果,为什么在 menu状态下,就看不到了呢?

解决方案 »

  1.   

    注意, popup 与主页面是 child 与 parent 的关系, 所以你不可以这样赋事件:
    <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 >&nbsp;&nbsp;体育新闻</SPAN>
    </DIV>
    <DIV STYLE="background:#d6d3ce; border:1px solid #D6D3CE; padding:1px;width:300px; font-family:verdana; font-size:70%;">
    <SPAN >&nbsp;&nbsp;娱乐新闻</SPAN>
    </DIV>
    </div><body>
    </html>
      

  2.   

    谢谢:meizz(梅花雪) ( )
     
       关于 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 文件是什么关系。