不是很明白你说的 "这句话执行不了了,因为ondblclick的function是全局的。"

解决方案 »

  1.   

    如果改
    odiv.ondblclick=function(){alert(this.id);};然后
    var test1=new a('123','这是个测试');
    test1.action();你会得到undefined  但需要的结果是打印出一个123.
    同样,上面的代码虽然能执行,但是语义上就不对了. 全部都navigate到http://www.test.com/undefined 了
      

  2.   

    不是很明白
    动态添家div到象不同页面,设置个参数也就可以了
    <body>
    </body><script>
    function a(id,content)
    {
    this.id=id;
    this.content=content;
    this.action=function(e)
    {
      
      var odiv=document.createElement("div");
      odiv.innerHTML=this.content;
      odiv.id=this.id;
      odiv.ondblclick=function(){window.navigate(e)};//这句话执行不了了,因为ondblclick的function是全局的。
                                    //无法访问到this.id.有没有办法能做到这种动态效果?
      document.body.appendChild(odiv);
    }
    }//
    var xx= new a(3,123)
    xx.action("http://www.sina.com")
    xx.action("http://www.baidu.com")
    xx.action("http://www.google.com")
    </script>