0

我的应用程序有一个带有两个面板的仪表板。每个面板都是一个不同的主干视图,在各自的面板中呈现出一个模板。视图由主干路由器实例化。我需要在某处放置一个 Drop Event Listener 来检测<li>一个视图中的元素何时被拖放到第二个视图上。但是,我不知道把这个听众放在哪里......

• 当我将事件放在任何一个视图中时,我都无法触发事件,例如"drop #drop-zone": "handleDrop"

• 在实例化视图后将事件侦听器放入路由器中也不起作用。

• 我的下一个想法是将Drop Event Listener 放入一个Listener for dragStart,但我不确定这是否是最好的方法。

哪里是监听该 Drop 事件的合适位置?

4

1 回答 1

0
// app.js, main.js, router.js, etc.
window.event_bus = {};

_.extend(object, Backbone.Events);

event_bus.on("drop", function(target) {
    // do something with target
});

// drop-zone-one-view.js
"drop #drop-zone-one": function () { event_bus.trigger('drop', 'drop-zone-one') }

// drop-zone-two-view.js
"drop #drop-zone-two": function () { event_bus.trigger('drop', 'drop-zone-two') }
于 2013-08-08T03:52:23.863 回答