上机练习
- 音乐标签
- 新歌TOP100
- 音乐掌门人
green.gif:
mp31.jpg:
mp32.jpg:
mp33.jpg:
我是想问问这个代码:
$(dt[i]).click((function(i,dd){ return function(){ if( t[i]){ $(dd).show(); t[i] = false; } else{ $(dd).hide(); t[i] = true; } } })(i,dd[i]));
return的作用是什么?
改成下面的为什么不行?
$(dt[i]).click((function(i,dd){ if( t[i]){ $(dd).show(); t[i] = false; } else{ $(dd).hide(); t[i] = true; } })(i,dd[i]));
回复讨论(解决方案)
click绑定肯定是一个函数,你修改后,就成一个上来就自执行的函数,肯定是不对的
又因为i作用域的问题,使用闭包解决i索引问题,最终return 函数给 click
一个是传函数,你写的是直接执行,区别那么大
经过两位指点,我已经懂了~thank you