使用閉包(closure)可解決這個問題
      result.style.border = "#CCCCCC 1px solid";      // 鼠标点击响应,打开发送消息窗口
      (function() {
        var _uname = uname;
        result.onclick = function ()
        {
           alert(_uname);
        }
      })();

解决方案 »

  1.   


     // 鼠标点击响应,打开发送消息窗口
          result.onclick = function (aa)
          {
    return function(){
    alert(aa);
     }
          }(uname)
      

  2.   

    给result加个属性就可以
          result.userName = uname;
          result.style.border = "#CCCCCC 1px solid"
                        
          // 鼠标点击响应,打开发送消息窗口
          result.onclick = function ()
          {
             alert(this.userName);
          }
      

  3.   

    上面的思路都是一样的都是采用额外开辟变量来缓存uname的当时状态来实现的
    都可以实现,比较喜欢采用3楼的写法条例清楚些
      

  4.   

    上面的思路都是一样的都是采用额外开辟变量来缓存uname的当时状态来实现的
    都可以实现,比较喜欢采用3楼的写法条例清楚些
      

  5.   

    可以了,但为什么可以给result加个属性的?不理解!