有几句话读不通啊,你把整个html全部贴出来吧。。

解决方案 »

  1.   

    objdiv.onclick = new Function("alert(1)"); 貌似div没有click事件把,这句换一下,写成试试:objdiv.onmousedowen = function(){
      alert(1)
    }
      

  2.   

    用attachEvent可以实现onclick不过onclick事件不会在html中展示出来
    <%@ Page language="c#" Codebehind="ParentCreate.aspx.cs" AutoEventWireup="false" Inherits="test.ParentCreate" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>ParentCreate</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language=javascript>
    function create() 

    var parentDocument = window.document; 
    var objdiv = parentDocument.createElement("div"); 
    var objname = "aa"; 
    objdiv.id = objname; 
    objdiv.style.border = "0px"; 
    objdiv.style.width = "100"; 
    objdiv.style.height = "100"; 
    objdiv.style.top = "0"; 
    objdiv.style.left = "0"; 
    objdiv.style.backgroundColor = "red";
    objdiv.attachEvent("onclick", new Function("alert(1)"));  
    parentDocument.getElementById("bb").appendChild(objdiv); 
    alert(objdiv.outerHTML); 

    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout" onload="create()">
    <form id="bb" method="post" runat="server">

    </form>
    </body>
    </HTML>
      

  3.   

    主页面代码
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function create(){
    var url = "/Noname2.html";
    var uploadurl = window.open(url,'newwindow','width=400,height=400,top=380,left=500');
    }
    //-->
    </SCRIPT>
     <BODY> <INPUT TYPE="button" VALUE="aaa" ONCLICK="create()">
      <div name="bb" id="bb" style="float:left;padding:10px;border:1px solid #55759C;">
    </div>
     </BODY>
    </HTML>
    子页面代码
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function create() { 
    var parentDocument = window.opener.document; 
    var objdiv = parentDocument.createElement("div"); 
    var objname = "aa"; 
    objdiv.id = objname; 
    objdiv.style.border = "0px"; 
    objdiv.onclick = new Function("alert(1)"); 
    //objdiv.attachEvent("onclick", new Function("alert(1)"));  
    parentDocument.getElementById("bb").appendChild(objdiv); 
    alert(objdiv.outerHTML); 
    } //-->
    </SCRIPT>
     <BODY>
      <INPUT TYPE="button" VALUE="aaa" ONCLICK="create()">
     </BODY>
    </HTML>
      

  4.   

    to liuyilidan 
    我的代码里把
    objdiv.attachEvent("onclick", new Function("alert(1)"));注释了,是因为我试了,无效,所以注释掉了
      

  5.   

    to AWHeaVen
    onmousedowen也无效:(
    如果代码在一个页面上是可以的,如果是子页面就不行了
      

  6.   

    不能用new Function();
    因为这样是在子窗口new出来的对象。
    像下面这样可以实现。
    也可以通过调用父窗口的方法让对象在父窗口中创建。
    不过这里还是直接使用innerHTML方便些。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <title>Untitled Document</title>
        </head>
        <script language="JavaScript">
            function create(){
                var parentDocument = window.opener.document;
    var str="<div name='aa' style='width:575px;height:128px;text-align:center;overflow:hidden;background-color: #000000;' onclick='alert(1);'>";
    parentDocument.getElementById("bb").innerHTML += str;
            }
        </script>
        <body>
         <input type="button" onclick="create()" value="test">
        </body>
    </html>
      

  7.   


    父窗口
    <script>
    window.open('childwindow.htm')//打开子窗口
    function create(){
      document.getElementById("bb").innerHTML="<div id=aa1 name=aa style='border:0px;' onclick='alert(1)'>new div in bb div</div>"
    }
    </script>
    <div id=bb></div>
      

  8.   

    第一个页<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <body>
    <script>
    function op(){
    var o = window.open("d2.html",'xx');
    }
    op();
    </script>
    </body>
    </html>
    第二个页
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <body>
         <script>
    function create() { 
    var parentDocument = window.opener.document; 
    var objdiv = parentDocument.createElement("div"); 
    objdiv.id = 'aa'; 
    objdiv.style.border = "1px";
    objdiv.innerHTML = '<a href="http://www.hansir.cn">中华人民共和国</a>';
    objdiv.onclick = function(){
    alert(this.id);
    }
    parentDocument.body.appendChild(objdiv);

    create();
     </script>
    </body>
    </html>
      

  9.   

    忘了写子窗口代码,看这个
    父窗口 
    <script>
    window.open('childwindow.htm')//打开子窗口 
    function create(){
      document.getElementById("bb").innerHTML="<div id=aa1 name=aa style='border:0px;' onclick='alert(1)'>new div in bb div</div>" 

    </script>
    <div id=bb></div>
    ------------------------
    子窗口:childwindow.htm
    <script>
    opener.create();
    </script>
      

  10.   

    恩,我知道用innerHTML是可以的
    谢谢
      

  11.   


    实在不想用innerHTML的话,
    你就这样做吧。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <title>Untitled Document</title>
        </head>
        <script language="JavaScript">
            function create(){
                var parentDocument = window.opener.document;
                var objdiv = parentDocument.createElement("div");
                var objname = "aa";

                objdiv.id = objname;
                objdiv.style.width = "100%";
                objdiv.style.height = "100%";
    objdiv.onclick = window.opener.eval("new Function('alert(1);')");
                //objdiv.attachEvent("onclick", function("alert(1)")); 
                parentDocument.getElementById("bb").appendChild(objdiv);
                alert(objdiv.outerHTML);

            }
        </script>
        <body>
         <input type="button" onclick="create()" value="test">
        </body>
    </html>