如果我有一个字符串中的方法名,在
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))
原文地址:https://www.jb51.cc/jquery/151916.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。