function fun1(){
for(var i = 0; i < NUM; i++){
var a = i;
var b = i+1;
$("#div1").click(function(){
fun(a,b);
});
}
}
类似上面的例子,出现的问题就是:在fun方法中获取到的a和b的值跟你实际不一样。解决方法就是调用click的另一个方法。
$("#div1").click(msg,function(e){fun(e.data)};
其中msg是一个string类型的值.最简单的办法是把要传送的参数写成一个json形式。
这里的e你可能会以为是你要传送的数据。其实不然,这里的e是把一个click事件的对象,里面包含了我们要传送的数据。你可以通过firebug的debug功能看到它到底包含了什么。
可能你对e.data更加好奇.其实e.data就是我们要传送的数据msg。你可以通过firebug看到。
最后在fun函数中 调用:
复制代码 代码如下:
function fun(data)
{
var json;
eval("json="+data);
.....
}
这样就可以操作json对象了,接下来的事情,自己做吧!