在循环中绑定单击事件处理程序会导致 jQuery 出现问题

2023-11-30

我正在尝试运行以下代码:

我将参数传递给函数,但它始终具有循环中运行的最后一个对象的值。我在 stackoverflow 上阅读了一些有关它的文章,但我找不到如何使其在我的解决方案中运行。

该对象是从服务器返回的 JSON 对象。它的所有值都是正确的。

for(var i = 0;i<parents.length;i++){
            var row        = $(document.createElement("tr"));
            var colName    = $(document.createElement("td"));

            var aDisplayCol = $(document.createElement("a"));

            var parentId = parents[i]['PARENT_ID'];

            aDisplayCol.attr("href","#").html(parents[i]['NAME']);
            aDisplayCol.bind('click',function(){ alert(parentId);});


            colName.append(aDisplayCol);

            row.append(colName);
            $('#pages tbody').append(row);                

}

Thanks


这是一个范围问题。当事件处理函数执行时,值parentId已经改变,不再是你所期望的那样。

这可以通过另一个函数返回原始事件处理函数来解决,该函数又传递以下值parentId作为参数:

function getEventHandlerFunction(id){
    return function() {
        alert(id);  // variable found in the closure with the expected value
    };
}


aDisplayCol.bind('click', getEventHandlerFunction(parentId));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在循环中绑定单击事件处理程序会导致 jQuery 出现问题 的相关文章

  • 使用 jQuery 检测用户何时滚动到 div 底部

    我有一个 div 框 称为 Flux 里面有可变数量的内容 此 divbox 的溢出设置为自动 现在 我想做的是 当使用滚动到此 DIV 框的底部时 将更多内容加载到页面中 我知道如何执行此操作 加载内容 但我不知道如何检测用户何时滚动到
  • 这种日期时间格式有简单的转换吗?

    我正在使用 jQuery 从 JSON feed 中检索数据 并且作为 feed 的一部分 我获得了 datetime 属性 例如 2009 07 01 07 30 09 我想将此信息放入 javascript Date 对象中以方便使用
  • gmap.js 覆盖层上的 MouseOver 事件?是否可以?

    我在用着gmap js http hpneo github io gmaps examples html我正在尝试在我创建的覆盖标记上创建鼠标悬停事件 这是一个 jsFiddle gt http jsfiddle net LXv87 htt
  • 在 Bootstrap 按钮下拉列表标题/占位符文本中显示所选项目

    这个问题已经在 Stackoverflow 上被问过几次了 但是我仍然无法弄清楚它的真相 而且我的查询正在抛出更多的下拉菜单 所以我有两个下拉菜单和一个搜索 我想从下拉列表和 选定 中进行选择以替换下拉占位符文本 但我还需要记住 点击搜索后
  • Bootstrap轮播不滑动

    我一直在尝试使用 Bootstrap Carousel 并在一定程度上取得了成功 我也可以单击并更改图像 但我有一个问题 只是不滑动而已 我哪里做错了 html div class carousel slide ol class carou
  • jQuery - 单击父元素(而不是父元素)时淡出?

    我的页面上有以下代码 我想做的是 当用户在 loginBox 外部单击时 我希望整个 loginOverlay 淡出 但如果不通过点击 loginBox 触发淡出 我就无法实现这种效果 它位于页面底部 页面上有一个触发淡入淡出的链接 但现在
  • 标题的固定高度和更改宽度(HTML 表格)

    我需要确保表格标题的高度是固定的 并且宽度是根据标题单元格内容进行调整的 标题文本最多显示两行 我们如何使用样式来做到这一点 另外 我想确保表行的宽度与标题行的宽度相同 即标题行决定宽度 注 目前 交易部门负责人别名 是按行排列的 它需要分
  • 在javascript中执行函数队列

    我正在尝试创建一个包含多个函数的函数队列 创建后我想依次执行每个函数 但是这些函数内部有延迟指令 所以我想等待每个函数完成执行后再继续 我的尝试 var funqueue funqueue push function fun1 funque
  • 使用 JQuery 将 SVG 动态加载到 SVGWeb 中

    我正在尝试动态显示一些 SVG 内容 此内容作为字符串存储在我的数据源中 示例字符串如下所示
  • 使用 jQuery 的 .trigger('dragstart') 实现 HTML5 的拖放功能时如何 .setData/.getData

    当使用 jQuery 的 trigger dragstart 在具有 ondragstart drag event 属性的元素上触发函数时 如何使用 setData getData 实现 HTML5 在触摸设备上的拖放 流程示例 用户通过
  • 调整大小后获取实际图像大小

    我有一个充满缩略图的页面 用 css 调整大小150x150 当我单击缩略图时 页面变暗 并且图像以其真实尺寸显示 目前 我必须手动创建一个包含所有图像的实际高度的数组 为了解决设计问题 减少画廊的手动操作 我需要在调整图像大小 CSS 后
  • 每 x 秒重复一次代码,但如果 [在此处插入检查] 则不重复

    这是后续这个问题 https stackoverflow com questions 13304471 javascript get code to run every minute 我在那里找到了如何使代码每 x 秒重复一次 是否有可能举
  • 等待动态加载脚本

    在我的页面正文中 我需要插入以下代码作为 AJAX 调用的结果 p Loading jQuery p p Using jQuery p 我不能使用 load 由于文档已经加载 因此该事件不会触发 这安全吗 如果没有 我如何确保在执行自定义生
  • Jquery 关注下一个带有类的元素

    我正在尝试创建一个函数 当按下 Enter 键时 会选择带有类的下一个输入 我已经设法 focus 同一行中的下一个元素 但是 如果我需要选择下一行的下一个输入 它将无法继续 下一行中的第一个 quantity 文本框需要获得焦点 控制台没
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 如何使用JQuery调用SWAL中成功的函数?

    第二个功能不起作用 它没有收到从第一个函数传递的 id 这是我的 JQuery 代码 swal title Are you sure text You will not be able to recover this record type
  • 如何在 jQuery 中选择时对 DOM 元素进行排序?

    我的页面上有以下 DIV div Div 3 div div Div 2 div div Div 1 div div Div 6 div div Div 5 div div Div 4 div 我正在尝试使用 jQuery 代码选择 Div
  • jQuery可排序发布数据,但没有数据

    谁能告诉我我在这里缺少什么 我的数据似乎总是空的 我做错了什么 document ready function nav sortable connectWith nav axis y update function event ui var
  • 如何防止IE11弹出(您确定要离开此页面)

    我正在处理一个页面 除了一个下拉菜单可供选择外 我无需输入任何内容 但在 IE11 中 当我尝试转到下一页时 它会弹出该消息 我想阻止这种弹出的发生 所以我只是想知道 IE11 中弹出窗口的默认行为是什么 因为它不会出现在 Chrome 或
  • HTML:JavaScript:阻止表单提交并调用 Javascript 函数

    我想在按下表单中的提交按钮时进行 AJAX 调用 事实上我无法删除

随机推荐

  • CarouselView 无法在 Xamarin.Forms 中工作

    我想使用 CarouselView 我已经安装了它 CarouselView FormsPlugin 并且我检查了我的项目的 packeges config 并且它已经存在 但我仍然收到这个错误 在全局命名空间中找不到类型或命名空间名称 C
  • 即使使用 UTF-8,为什么 ¿ 在 Windows 和 Linux 中显示不同?

    为什么 Linux 和 Windows 中显示的内容不同 System out println new String getBytes UTF 8 UTF 8 在 Windows 中 在Linux中 System out println 以
  • 如何在条形图数据上设置 x 轴 - ios-charts?

    以前我们可以设置条形图数据的 x 轴 如下所示 BarChartData data BarChartData alloc initWithXVals xvals dataSets dataSets 在最新更新的ios charts库 语法更
  • 从 YouTube API V2 迁移到 V3 时遇到问题 - 无法列出频道的上传内容

    首先 很抱歉发布此内容 我不认为这是重复的 因为从昨天开始我一直在抓取 YouTube API 标记的问题 但找不到解决方案 我的问题是 即使官方已弃用 YouTube API V2 我还可以继续使用它吗 原因是因为我有两个问题 我仍然无法
  • 将图像异步加载到 UIImage 中

    我正在使用 iOS 5 0 SDK 和 XCode 4 2 开发 iOS 4 应用程序 我必须在 UITableView 中显示一些帖子博客 当我检索到所有 Web 服务数据后 我使用此方法创建 UITableViewCell BlogTa
  • Objective-C - 如何将 NSString 转换为转义 JSON 字符串?

    我有一个可能包含引号 r n 的 NSString 我想将其转换为 JSON 编码的字符串 这样的字符串 文本1 文本2 becomes 文本1 文本2 是否有现有的功能可以让我这样做 另外 我在我的项目中使用 SBJson 但我找不到 S
  • 限制 OpenFileDialog 的多选

    我有一个OpenFileDialog和它的MultiSelect财产是ON 我的问题是如何限制要选择的项目数量 例如仅 5 个项目 Thanks 您可以使用 FileOk 事件来检查用户单击 确定 按钮时选择的文件 如果您不满意 则显示一条
  • 使用 PHP GD 对 PNG 图像进行着色

    我有一个带有透明背景和白色圆圈的 PNG 图像 我正在尝试将白色圆圈着色为特定颜色 但我在使用此代码时遇到困难 src imagecreatefrompng circle png handle imagecolorclosest src 2
  • Keras:下载 Fashion_MNIST 数据时出错

    我正在尝试从 Fashion MNIST 下载数据 但出现错误 最初 它正在下载并正常工作 但我不得不终止它 因为我必须关闭计算机 当我再次打开该文件时 它给了我一个错误 我不确定问题是什么 但是否是因为我已经下载过一次数据的某些部分 而
  • 使用 MVC 3 依赖注入和 Ninject 2.2 将全局操作过滤器绑定到区域中的所有控制器

    由于我在此收到的帮助 我能够使用 ASP NET MVC 3 和 Ninject 2 2 将记录器对象注入到自定义 ActionFilterAttribute 中post 现在我想将自定义 ActionFilterAttribute 仅绑定
  • 将文件上传到 Google 云端硬盘?

    我按照此文档将文件上传到 Google 云端硬盘 https developers google com drive android files 现在 每次我想上传文件时 都会出现 Google Drive 的弹出窗口 询问我在哪里上传文件
  • PowerShell 递归搜索名称包含“...”的文件和文件夹

    我需要帮助来创建一个可以挽救我生命的脚本 我的备份软件出错了 因为我错误地设计了备份计划 而且我有很多命名文件 文件名或文件夹名称 2 编码冲突 我想递归搜索我的网络共享以查找名称中带有 编码冲突 的文件夹和文件 然后首先导出它们以进行验证
  • Zookeeper运行在两个节点上

    我遇到过这样的情况 Zookeeper 配置为 2 个节点 但有时它开始同时在两个节点上运行 为什么会发生这种情况 要构建具有主从架构的整体 您需要拥有奇数个 Zookeeper 服务器 即 1 3 5 7 等 3 人的集成可以处理一台服务
  • AngularJS Post 请求在 Firefox 上无法正常工作

    我正在使用 AngularJS 编写一个网站 它与服务器上的 API 进行通信并提供一些信息 对于登录部分 我应该发送一个包含电子邮件 密码等的 http post 请求 它在 google Chrome 和 IE 上运行良好 我的意思是它
  • 从 Amazon S3 迁移到 Azure 存储(Django Web 应用程序)

    我维护这个 Django Web 应用程序 用户可以在其中聚集并互相聊天 如果他们愿意 他们也可以发布照片 我处理这些照片 即优化其大小 并将它们存储在 Amazon S3 存储桶 类似于 Azure 存储中的 容器 上 为此 我在 Ama
  • 在 shell 脚本中读取 JSON 数据[重复]

    这个问题在这里已经有答案了 在 shell 中 我有一个要求 其中我必须读取以下格式的 JSON 响应 Messages Body 172 16 1 42 home 480 1234 5 12 2013 1234 toSort Receip
  • R 中的约束线性回归系数[重复]

    这个问题在这里已经有答案了 我正在估计 R 中的几个普通最小二乘线性回归 我想限制回归中的估计系数 使它们相同 例如 我有以下内容 z1 x y z2 x y 我希望第一个回归中 y 的估计系数等于第二个回归中 x 的估计系数 有没有直接的
  • 为什么我的 http://schema.org/BreadcrumbList 未验证?

    我在我的网站上使用 schema org 微数据 但我正在努力解决面包屑列表作为谷歌的结构化数据测试工具不会验证它 它看起来是正确的 我看不出有什么问题 您可以单击上面的链接来查看错误 但总而言之 Google 表示每个项目的 itemty
  • 是否可以更新本地化故事板的字符串?

    我通过创建一个 base lproj 故事板和 3 个字符串文件来本地化我的应用程序的一部分 那是一个月前 之后我向应用程序添加了新的视图控制器 但该控制器的按钮和标签没有出现在字符串文件中 是否可以更新这 3 个情节提要附加的字符串文件
  • 在循环中绑定单击事件处理程序会导致 jQuery 出现问题

    我正在尝试运行以下代码 我将参数传递给函数 但它始终具有循环中运行的最后一个对象的值 我在 stackoverflow 上阅读了一些有关它的文章 但我找不到如何使其在我的解决方案中运行 该对象是从服务器返回的 JSON 对象 它的所有值都是