<img src="images/jia.gif" onclick="a('1.0')" id="img1">document.getElementById("img1").onclick=function(){//注意不要加参数,加了也没用
  show('hello');
};这样就可以了。

解决方案 »

  1.   

    var image=$(id);
    image.onclick=function(){show(id)};
    有很多图片,但是每次更改完事件后,以前的图片的onclick事件的show(id)函数的参数全变成最后一次的id了,就是所有的事件全部都一样了
      

  2.   

    只更改一个的话是好用的,每次我更改的时候都用alert(id)查看了参数,都是不一样的,但是更改完之后,怎么连前面的参数也被修改了,我也搞不懂
      

  3.   

    这是闭包问题
    需要写一个函数来返回函数对象,并借此保存变量。
    你拷下以下代码测试一下,看你能不能理解。
    <img src="images/jia.gif" onclick="a('1.0')" id="img1">document.getElementById("img1").onclick=CreateFunction(show,['abc'], document.getElementById("img1"));function CreateFunction( fn, args, o ){
      var f = function(){
        fn.apply( o, args );//此处fn才是你真正想调用的方法。
      };
      return f;
    }function show( a )//写的测试函数
    {
      alert( this.id );
      alert( a );
    }
      

  4.   

    Amwpfiqvy(给我分吧,让我升仙) 正解,原来需要这么弄,谢谢,万分感谢,马上结贴!!
    大大,太感谢你了,我在网上找了好久,怎么一个也没提到闭包啊,什么叫闭包啊?