听听Marionette ItemView以外的活动

时间:2016-02-27 01:01:01

标签: jquery model-view-controller backbone.js marionette

我有以下html -

<html>
    <body>
        <div id="one">
            <-- Marionette ItemView V1 rendered here -->
        </diV>

        <div id="two">
            <-- Mariontette ItemView V2 rendered here -->
        </div>
    </body>
</html>


如何在#two #one内听取mouseup事件,如下所示:

var V1= Marionette.ItemView.extend({
    template: "#template_for_div#one",

    event: {
        "mouseup #two": "do_something",
        // Other events
    },

    // Other stuff
});

1 个答案:

答案 0 :(得分:1)

解决此问题的更好方法是创建两个对象都引用的dispatcher对象。触发并侦听此对象上的事件。 (为了澄清,这个对象现在是一个视图,而不是它是一个骨干事件对象,其唯一的工作就是分派事件。)

Backbone文档在Backbone.Events部分说明这一点:http://backbonejs.org/#Events “例如,要创建一个方便的事件调度程序,它可以协调应用程序的不同区域之间的事件:var dispatcher = _.clone(Backbone.Events)”