Javascript jquery.click(callmethod) $('')。单击(函数(事件){ChangeXYZ(事件);});

Javascript jquery.click(callmethod) $('')。单击(函数(事件){ChangeXYZ(事件);});,javascript,jquery,Javascript,Jquery,上面的问题是我不想要事件,但我需要其他变量 $('<a/>').click(function(event) { ChangeXYZ(event); }); $('')。单击(函数(){ChangeXYZ(var123);}); 但该行的问题是,它在运行时得到var123的值,当我在循环中添加这个值时,总是使用var123的最后一个值。看起来它正在使用var123的引用。如何使它在创建时使用var123的值而不是单击时间。是否有原因不能放置语句staticvar123=var123

上面的问题是我不想要事件,但我需要其他变量

$('<a/>').click(function(event) { ChangeXYZ(event); });
$('')。单击(函数(){ChangeXYZ(var123);});

但该行的问题是,它在运行时得到var123的值,当我在循环中添加这个值时,总是使用var123的最后一个值。看起来它正在使用var123的引用。如何使它在创建时使用var123的值而不是单击时间。

是否有原因不能放置语句
staticvar123=var123在修改var123之前,将代码更改为:

$('<a/>').click(function() { ChangeXYZ(var123); });
$('')。单击(函数(){ChangeXYZ(staticvar123);});

是否有不能放置语句的原因
staticvar123=var123在修改var123之前,将代码更改为:

$('<a/>').click(function() { ChangeXYZ(var123); });
$('')。单击(函数(){ChangeXYZ(staticvar123);});
使用闭包

$('<a/>').click(function() { ChangeXYZ(staticvar123); });
注:未测试,但应能正常工作

编辑:固定拼写

使用闭包

$('<a/>').click(function() { ChangeXYZ(staticvar123); });
注:未测试,但应能正常工作


编辑:固定拼写

假设您的for循环如下所示:

function (val) {
    return function() {
         ChangeXYZ(val);
    }
}(var123);

for(var var123=0;var123假设for循环如下所示:

function (val) {
    return function() {
         ChangeXYZ(val);
    }
}(var123);

for(var var123=0;var123首先,请记住,如果将循环内的单击事件附加到同一元素(在您的示例中,元素
$(“”)
),然后您将对该元素的同一事件进行N次响应。因此,您可能不希望这样,需要将调用移动到
。单击
退出循环

第二,如果您仍然需要这样的东西,我相信@ SANAND0有一个错误,您应该考虑将参数传递给调用方函数,并在函数中使用这个参数:

for (var var123=0; var123<10; var123++) {
    (function() {
        $('<a/>').click(function() { ChangeXYZ(var123); });
    })();
}

for(var var123=0;var123首先,请记住,如果将循环内的单击事件附加到同一元素(在您的示例中,元素
$(“”)
),然后您将对该元素的同一事件进行N次响应。因此,您可能不希望这样,需要将调用移动到
。单击
退出循环

第二,如果您仍然需要这样的东西,我相信@ SANAND0有一个错误,您应该考虑将参数传递给调用方函数,并在函数中使用这个参数:

for (var var123=0; var123<10; var123++) {
    (function() {
        $('<a/>').click(function() { ChangeXYZ(var123); });
    })();
}

用于(var var123=0;var123 mamu使用的格式将创建锚定标记,而不仅仅是搜索锚定标记。@Charles I删除了不理解您的评论的最后一行。我是否应将其添加回?mamu使用的格式将创建锚定标记,而不仅仅是搜索锚定标记。@Charles I删除了不理解您的com的最后一行我应该把它加进去吗?