javascript – 如何在可以更改的值上触发函数?

我有一些单击元素时触发的函数.元素存储在一个数组中.但是触发功能的价值会发生变化.这是函数的代码:

// first I store the element of a list in an array
var promo = new Array(),
indexOfTheElement = 3;
$('#list li').each(function(){
    promo.push($(this));
});

$(myArray[indexOfTheElement]).click(function(){
    indexOfTheElement--;
    // Do something
    return false;
});

编辑:列表元素存储在数组中,单击列表元素时会触发该函数.例如,如果单击第三个元素,将触发该函数,然后单击第二个元素时它必须工作.

最佳答案 它可能是一个范围问题,但我相信你想在每个函数调用上使用bind()和unbind().例如:

var foo = function(){
    myArray[index].unbind("click");
    index--;
    //do something
    myArray[index].bind("click", foo);
    return false;
}
点赞