在Javascript / Coffeescript / jQuery中有没有相当于Ruby的发送?

如果我有一个字符串中的方法名,在 Ruby中我可以使用send来动态调度方法,例如
method_name = "delete"
send method_name

我也可以利用插值:

method_name = "add"
send "#{method_name}_task",args

我有两个定义在javascript中的函数,一个删除,一个更新一些.每个的按钮都是动态添加的,目前只有删除方法通过button.on“点击”绑定.

b.on "click",(event) ->
  event.preventDefault() # stop submission via postback
  this_button = $(this)
  task_id = this_button.data("task-id")
  delete_task( task_id,this_button )
  false

我想要这样做:

method_name = "delete"
b.on "click",(event) ->
  event.preventDefault() # stop submission via postback
  this_button = $(this)
  task_id = this_button.data("task-id")
  send "#{method_name}_task",task_id,this_button
  false

两个功能的绑定之间的唯一区别是这一行.如果有一个明显的方法,减少重复将是有帮助的.我没有找到任何东西在我的搜索,所以如果有人可以帮助它将不胜感激.

解决方法

你需要使用 bracket notation
b.on("click",window[method_name](event))

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...