Javascript..可能存在引用值问题

标签 javascript jquery

这里的问题是警报页面的最终值为 i.. 有什么解决方案吗?

  for(var i=start;i<=end;i++)
            {
                num=pageNumber.clone();

                num.click(function(event)
                {
                    event.preventDefault();
                    var page=i;
                   alert(page);
                   // drawPager();
                });
                num.find("span").text(i);
                if(i==curPage) {
                    num.find("span").addClass("current");
                    num=num.find("span");


                }
                $("#pager>div").append(num);
            }

最佳答案

你应该这样做:

num.click(function(i) {
   return function(event) {
        event.preventDefault();
        var page = i;
        alert(page);
   }
}(i));

这会产生一个额外的外壳,因此i不会被覆盖。

关于Javascript..可能存在引用值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079444/

相关文章:

javascript - ejabberd——在 ejabberd 上设置昵称在我登录之前不会反射(reflect)在 Pidgin/Empathy 上

javascript - reveal.js 从 CDN 运行,但不在本地运行

javascript - 查找与搜索框匹配的链接

javascript - 在模态显示之前执行脚本标签

javascript - HTML 表单操作到 python > 如何从浏览器保存由 python 生成的本地文件

javascript - 将参数传递给 jquery 插件时如何为 javascript 对象指定变量属性

javascript - 在处理元素单击事件期间在循环内调用 window.open()

javascript - 计数()与 Protractor 中的长度

javascript - 如何制作简单的搜索引擎?

javascript - 从数组中检索值的更简单方法