有如下代码:MyMarker.prototype = function (stationData) {
    var me = this;
    this.data = stationData;
    this.ID = (erNumber++); 
    this.open() = function() {
    //代码较长,省略了
    }
}
myer = new MyMarker("123");
$("div").innerHTML = "<a href=\"javascript:menu(" +myer +")\">点击</a>";function menu ( myer) {
    myer.open();//这里调用并不成功
}
在上面调用的地方不成功,调用的时候发现,menu函数的参数根本不是对象,只是一些值而已。请问各位有什么方法可以解决这个问题吗?有没有方法可以只由传进来的某个属性获得整个对象?

解决方案 »

  1.   

    javascript:(new MyMarker("123")).open();
      

  2.   

    用一楼的方法可以解决上面的问题,但是如果把超链接代码封闭在MyMarker里面怎么解决呢?MyMarker.prototype = function (stationData) {
        var me = this;
        this.data = stationData;
        this.ID = (erNumber++); 
        this.open() = function() {
        //代码较长,省略了
        }
         this.HTML = "<a href=\"javascript:this.open();\">点击</a>";
         //这里有很多html代码,这种调用方式不可行
    }
    myer = new MyMarker("123");
    $("div").innerHTML =myer.HTML;
    这种情况有什么方法可以调用open 方法?
      

  3.   

    MyMarker.prototype = function (stationData) {
        var me = this;
        this.data = stationData;
        this.ID = (erNumber++); 
        this.open() = function() {
        //代码较长,省略了
        }
         this.HTML = "<a href=\"javascript:this.open();\">点击</a>";
         //这里有很多html代码,这种调用方式不可行
    }
    myer = new MyMarker("123");
    $("div").innerHTML =myer.HTML;写在html 标签的 事件只能调用全局的 函数!
      

  4.   


    myer = new MyMarker("123");
    实例化 调用函数方法!!!
      

  5.   

    其实实现的方法不少,只是我想把所有的数据封装成一个类,包括要显示在HTML代码,以使得结构更紧凑。