javascript事件中的参数传递

找了半天才找到了一种方式 ,

1>用对象的方式来传

var newopen = function(id,level)
{
  
return function()
  {
    opentree(id,level);
//该函数为外部定义的一个执行函数;
  }
}
x.attachEvent(
"onclick",newopen(id,parseInt(level)+1));
y.attachEvent("onclick",newopen(id,parseInt(level)+2));

 

2> 后来,  我将这种方式用于事件中, 却没有效果, 因为事件默认会将系统参数放到第一个参数里

例如:

obj.attachEvent("onkeyup",new newopen(event,parameter));

var newopen
=function(e,parameter)
{
//这里是得不到e的值的
}

 正象上面说的一样, 那样e的值是得不到的, 这里也顺便提一下, 这样的做法用在事件中是不好的, 因为是new的关系

也就是说他会在排定事件的时候就调用一次, 在一般逻辑下是用于事件是不好的.

这时可以变一下,

obj.attachEvent("onkeyup",function(event){newopen(event,parameter));

var newopen
=function(e,parameter)
{
//这里是可以到e的值的
}


posted @ 2009-03-30 18:02  connoryan  阅读(1068)  评论(1编辑  收藏  举报