小编Tec*_*lar的帖子

Javascript关闭冻结增量值的值

我很难理解和使用闭包(是的,我已经阅读了JavaScript闭包如何工作?)

我的问题如下:

for (row = 0; row < 10; row++) {
    for (column = 0; column < 10; column++) {

        var target = $("#" + Data.Row[row].Column[column].ID);

        target.mouseenter(function () {
            var position = CalculatePosition($(this));

            alert("row:" + row + ",column:" + column);

            ...
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所料,只要目标将鼠标悬停在其上,行和列始终为9.我的问题是,如何冻结行和列的值,以便mouseevent匿名函数可以获得其预期值?我试过做类似的事情

target.mouseenter(function() {}.bind(column));
Run Code Online (Sandbox Code Playgroud)

这似乎只适用于专栏,但当然this不再是指目标.

javascript jquery closures

0
推荐指数
1
解决办法
187
查看次数

标签 统计

closures ×1

javascript ×1

jquery ×1