Javascript命名空间问题,我如何在这个函数调用中获取这个值

标签 javascript jquery

我只是不确定如何在此函数中获得所需的值,谢谢!

temp = exotics[i].split(',');

if ($.inArray(temp[0], tblProbables) != -1) {
    item = $("<li><a id='" + temp[0] + "'" + "href='#' >" + temp[1] + "</a></li>");
    item.click(function () { GetProbable(temp[0]); });
}

temp[0] 为空,因为它不存在于该函数空间中......那么我如何设置单击事件以便它使用正确的参数调用该函数?

最佳答案

我有一种感觉,您正在以某种方式重用 temp 变量。

如果是这样,您只需在函数中创建一个新的变量作用域,该函数返回引用正确作用域变量的函数。

function createHandler( temp ) {
    return function () { GetProbable(temp); };
}

item.click( createHandler(temp[0]) );

关于Javascript命名空间问题,我如何在这个函数调用中获取这个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318783/

相关文章:

javascript - 使用 jquery 中的每个新操作在一个 div 中显示每个 div 总金额

javascript - React 下拉组件

javascript - Innerhtml 创建文本区域字段

javascript - 在 node-webkit 中从 JavaScript 运行 shell 命令?

javascript - 如何在 ng-repeat 中显示下拉菜单

jquery - Angular 4 + AdminLTE。 TreeView 菜单不起作用

function - 当用户在 jquery 中的输入之外单击时尝试填充输入字段

带有选项的 Javascript 对象函数

javascript - 当满足我的条件时,不会使用验证。

javascript - 如何在较小的设备上停止 WOW JS + CSS 动画?