function show(name){}
addEvent(对象1,"mousedown",show);
addEvent(对象2,"mousedown",show);如何添加让不同对象同时绑定一个函数,并传递不同的参数???有知道的不?

解决方案 »

  1.   

    addEvent(对象1,"mousedown", function (){show('参数1')});
    addEvent(对象2,"mousedown", function (){show('参数2')});
      

  2.   

    可以用对象1和对象2的某个属性映射到需要的参数 或者直接使用某个属性,然后在show函数里面调用这个属性就可以了
      

  3.   


    //以下代码IE Only
    function show(){
      //点击对象1就是对象1,对象2就是对象2 
      //P.S.也有可能是其他对象,这种方法不保险
      var obj = window.event.srcElement;  
     
      //或者使用某种映射 var name = _args[obj.id]
      //_args为事先定义好的映射对象
      var name = obj.name;
        //Todo
    }
    addEvent(对象1,"mousedown",show);
    addEvent(对象2,"mousedown",show);其实个人不喜欢IE的addEvent方法,在调用函数中的this不是注册的对象而是window,很不方便
    推荐使用改造过的0级DOM的事件注册方法,既对象.onXXXX = xxx;的方式可以去参考下Jquery等的源码,看看里面的事件注册方式,都是跨浏览器的,而且对调用函数的作用域与event对象都进行了统一
      

  4.   

    那就自己加个句柄出来
     比如 
    对象1.hdmousedown=function(){show();}
    addEvent(对象1,"mousedown",对象1.hdmousedown);
      

  5.   


    yeery={}
    show=function(){
        yeery.name="123";
        alert(yeery.name);
    }
    addEvent(对象1,"mousedown",show);
    改变yeery.name=456值.重新绑定
    addEvent(对象2,"mousedown",show);然后两个对象都是响应的都是456所以不行..不能完成一个函数绑定两对象,并实现传参...  求救中..
      

  6.   


    <!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=utf-8" />
    <title>绑定函数</title>
    <script src="jquery-1.3.2.js"></script>
    <script>
    $(document).ready(function(){
         $(".btn").mousedown(function(){
         var temp_name = $(this).attr("name");
     show(temp_name);
     });
     function show(name){
     alert("该对象名字:"+name);
     }
    });
    </script>
    </head><body>
    <input type="text" value="点击" name="对象1" class="btn" />
    <input type="text" value="点击" name="对象2" class="btn" />
    </body>
    </html>
    我的是jquery
      

  7.   

    楼上,还是没讲怎么删除!!
    本来也可以删除,就是创建每绑定一个创建一个函数,生成一个句柄..删除事件时,同时要删除创建的函数.如果用addEvent(对象,event ,function(){所绑定的函数})  这样可以添加.就是不知怎么删除呀
      

  8.   

    看下 jQuery 里的 Event 是如何管理事件的吧..你说的那个 jquery里会给 给函数加一个 uid 的值 ,,自已看下吧,,不好说
      

  9.   

    用Jquery 中的bind() 和 unbind(),很用以实现,楼主可以去学习一下。谢谢!
      

  10.   

    汗,我从jquery得到了,也是创建唯一的临时句柄,存储.删除时再用..很感谢你们的回答..这样我才能不断进步..