欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jquery中回调函数的问题,大虾帮忙解决一下~_html/css_WEB-ITnose

程序员文章站 2024-01-15 18:40:10
...
上机练习
音乐标签
jquery中回调函数的问题,大虾帮忙解决一下~_html/css_WEB-ITnose
新歌TOP100
jquery中回调函数的问题,大虾帮忙解决一下~_html/css_WEB-ITnose
音乐掌门人
jquery中回调函数的问题,大虾帮忙解决一下~_html/css_WEB-ITnose


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