我正在使用 jQuery-UI 将拖放功能添加到我的 Meteor 应用程序中,以获取使用 Meteor 渲染的模板。通过使用模板的 .rendered
回调,我可以很好地设置 draggable
和 droppable
小部件。
棘手的部分是发生掉落时。 jQuery-UI 在回调中给出一个事件和一个对象:http://api.jqueryui.com/droppable/#event-drop 。但是,我需要找到 meteor 模板实例或底层集合数据 ID,以便对可拖动和可放置的内容执行某些操作,例如更新集合等。
最好的方法是什么?我见过的最接近的东西是一个名为 _spark_fooObjectId
的属性,它似乎是由 Meteor 添加的。但这到底意味着什么?
我的第一次尝试,基于阅读 https://github.com/meteor/meteor/wiki/Spark ,就是尝试以下操作:
drop: (event, ui) ->
console.log Spark.getDataContext(ui.draggable)
但是,这会返回null
。还有其他想法吗?
最佳答案
哎呀,这只是一个小小的疏忽。正确的解决方案是
Spark.getDataContext(ui.draggable.context)
因为 ui.draggable
是一个 jQuery 对象。
关于jquery - 获取给定 DOM 元素的 Meteor 模板实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026556/