我遇到的问题:有一个页面,里面有一个div,这里有一个按钮,按钮的事件可以运行。在作js操作之前,运行都很正常。
用javascript操作这个div,我用js弹出一个对话框,用这个对话框appendchild这个div,所以,这个div就被显示在弹出的对话框里,然而,郁闷的是,在点同一个按钮,按钮的事件就不执行了。现在我需要这个事件能够运行,请高手帮忙我的疑问:1.这个按钮的事件怎么会丢失,我没有做任何服务器操作,实际操作仅仅把控件的位置换了一下。
2.我用什么方法能够让这个按钮可以实现原有的事件。

解决方案 »

  1.   

    document.getElementById("thisbutton").onclick=function()
    {
     //调用其onclick事件
    }
      

  2.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>无标题页</title> <script type="text/javascript">
        function qqq()
        {
        var div = document.createElement("div");
        document.body.appendChild(div);
        div.appendChild(document.getElementById("d1"));
        alert("a");
        }
    </script></head>
    <body>
    <form id="form1" runat="server">
    <input type="button" onclick="qqq()" value="换位置" />
    <div id="d1" style="background-color:Red">
    <asp:Button ID="ddd" runat="server" Text="sdfsdf" OnClick="ddd_Click" />
    </div>
    </form>
    </body>
    </html>
      

  3.   

    代码是这样的,就是js生成一个div,把id是“d1”的div  append进去,id是“d1”的div 里的按钮的事件就不行了,
    这个事件大家可以随意写事件操作进去
      

  4.   

    var div = document.createElement("div的id");
    document.body.appendChild(div的id);
    div的id.appendChild(document.getElementById("d1"));
     alert("hello,kelly");
      

  5.   

    然而,郁闷的是,在点同一个按钮,按钮的事件就不执行了。我运行你后来贴的那个代码是没问题的哦。点一次alert一次。
      

  6.   

    插入之后,新插入的按钮语原来插入前的按钮的客户端id是重复的。这对html来说就已经是非法的了(尽管似乎不影响ie简单的界面显示)。
      

  7.   

    正常的做法,是使用 asp.net ajax 的 updatepanel。
      

  8.   

    代码是这样的,就是js生成一个div,把id是“d1”的div append进去,id是“d1”的div 里的按钮的事件就不行了,======那个这个 id 为 d1 的 div 岂不属于两个父节点了?
      

  9.   

    呵呵,昨天我测试出来结果了,可惜不是楼上众位的答案。只是不能连续回帖超过3次。正确的答案:
    document.body.appendChild(div);把这里的body改成form就OK了,因为把这个控件转移到了body里,body没有runat=‘server’
    放进form里就完全正常了,散分,来者有份。