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));
{
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的值的
}
var newopen=function(e,parameter)
{
//这里是得不到e的值的
}
正象上面说的一样, 那样e的值是得不到的, 这里也顺便提一下, 这样的做法用在事件中是不好的, 因为是new的关系
也就是说他会在排定事件的时候就调用一次, 在一般逻辑下是用于事件是不好的.
这时可以变一下,
obj.attachEvent("onkeyup",function(event){newopen(event,parameter));
var newopen=function(e,parameter)
{
//这里是可以到e的值的
}
var newopen=function(e,parameter)
{
//这里是可以到e的值的
}
作者:OUZI(connoryan)
出处:http://www.cnblogs.com/ouzi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。