在这种情况下,如何使用参数添加回调
how to add callback with param in this condition?
我有一个表 dom 元素
<table id='acc001'>...</table>
我创建了一个弹出菜单,以便在单击该 tr 元素后获取 tr 数据
var tr = $('<tr>').appendTo('#acc001');
popupMenu.draw_menu(tr);
var popupMenu = {
menu : [
{'string':'add data','type':'input','callback':function(tr){console.log(tr);}},
{'string':'edit data','type':'input','callback':function(tr){console.log(tr);}}
],
draw_menu : function(tr){
for(i in this.menu)
{
var div = $('<div>',{'text':this.menu[i].string}).appendTo('#infoDiv');
$(div).bind('click',this.menu[i].callback); // i cannot send param for this callback
}
}
}
问题出在创建菜单后,但单击它们后我无法获得 TR 内容。所有控制台.log都无法显示..
- 那么如何为此回调添加和发送参数呢?
- 还有其他方法可以正确执行此代码吗?
将其包装在函数中并tr
传递给回调:
$(div).bind('click',(function(callback) {
return function() { callback(tr) }
})(this.menu[i].callback));
(已编辑:this
不是来自事件处理程序中的适当上下文;再次修复)
相关文章:
- 将GET参数添加到q.io.xhr
- iron路由器将参数添加到字符串中,并添加一个查询
- Nodejs-使用regex将多个参数添加到路由中
- setTimeout向函数参数添加条件
- 将 CakePHP 命名参数添加到列表选择的 URL 中
- 在这种情况下,如何使用参数添加回调
- Ajax 帖子将参数添加到主页链接
- 将查询字符串参数添加到 GridView 项模板
- 如何正确地将 URL 参数添加到 AJAX 数据对象
- 将查询参数添加到 URL
- Google Apps 脚本 - 将横向参数添加到 PDF 电子邮件附件
- 将参数添加到现有 URL
- 使用 Javascript 将参数添加到 URL
- 如何将参数添加到序列化对象
- 将参数添加到 d3 拖动行为后,元素不再可拖动
- 向 ajax 参数添加循环
- 如何将url参数添加到requirejs中的特定路径
- 如何在WordPress中将查询字符串/参数添加到url
- 如何将参数添加到存储在稍后调用的数组中的方法中
- 如何将参数添加到url_for