Javascript。。参考值可能存在问题
这里的问题是处于警报状态的页面的最终值为i。。有什么解决办法吗Javascript。。参考值可能存在问题,javascript,jquery,Javascript,Jquery,这里的问题是处于警报状态的页面的最终值为i。。有什么解决办法吗 for(var i=start;i<=end;i++) { num=pageNumber.clone(); num.click(function(event) { event.preventDefault(); var pa
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);
}
for(var i=start;i您需要在单独的函数中添加处理程序,该函数将i
作为参数
例如:
for(var i=start;i<=end;i++) {
handlePage(i);
}
function handlePage(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);
}
for(var i=start;i您需要在单独的函数中添加处理程序,该函数将i
作为参数
例如:
for(var i=start;i<=end;i++) {
handlePage(i);
}
function handlePage(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);
}
for(var i=start;i您应该这样做:
num.click(function(i) {
return function(event) {
event.preventDefault();
var page = i;
alert(page);
}
}(i));
这将创建一个额外的存储模块,因此i不会被覆盖。您应该执行以下操作:
num.click(function(i) {
return function(event) {
event.preventDefault();
var page = i;
alert(page);
}
}(i));
这将创建一个额外的存储模块,因此i不会被覆盖。根据您提供的代码,这是页面变量的正确行为。您能告诉我们您正在尝试完成什么吗?如果我们不知道问题的原因,则很难知道解决方案。我不希望页面是相同的…可能重复的页面在您提供的代码中,这是page变量的正确行为。您能告诉我们您正在尝试实现什么吗?如果我们不知道问题所在,就很难知道解决方案。我不希望page是相同的…可能重复的how?确切地说是为了实现这个?how?确切地说是为了实现这个?