我有一个小型网络应用程序 - 它包含表格。单元格中的数据可能有多种类型,对于某些类型,用户必须能够定义自己的“编辑器” - 例如日期 - jQuery 日期选择器。想法是让用户能够编写自定义回调,以用于单元格编辑。
问题在于编辑后检索数据:
例如 - 带有日期数据的单元格。用户单击它,使用日期选择器选择日期,然后离开此单元格,这会导致“模糊”事件。这必定会导致:
- 将单元格恢复到初始外观
- 从“编辑器”检索数据并将其放入单元格
检索到的数据必须存储在内部数据结构(Backbone 模型)中。而且我不想将其访问权限授予自定义用户制作的回调。
我认为用户可以将事件对象绑定(bind)返回到 input
或textarea
无论他的编辑器将使用什么标签,以及他自己的处理程序,该处理程序都会将单元格返回到初始状态并返回必须保存到内部数据结构中并显示在 <td/>
中的值。标签。
所以我的问题是 - 如何将事件绑定(bind)到对象并将其传递给其他函数来附加适当的处理程序?
ps
现在,我决定通过向用户创建的回调传递一个附加了特殊事件的对象来解决这个问题,用户必须在他的“模糊”处理程序中触发该对象,并将从编辑器检索到的值传递为event.data。
最佳答案
试试这个:
var myObject = _.extend({},Backbone.Events);
使用 myObject 触发事件并传递数据:
myObjec.trigger("myEvent", 数据);
在 View 的initialize() 方法中将事件监听器函数绑定(bind)到此事件:
myObject.on("myEvent", myFunction,this);
关于javascript - jQuery - 如何将事件附加到 DOM 对象并在不同的位置将处理程序绑定(bind)到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014348/