Javascript 单击事件不触发!(backbone.js)

Javascript 单击事件不触发!(backbone.js),javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,我的视图有一个click处理程序,但是当被click事件处理程序作为目标时,视图的el$(“#modal”)似乎在单击时不会触发。但是,当我以$('modal')的任何子对象为目标时,单击就会触发click事件 我猜$(“#modal”)不被视为视图的一部分,因此在事件中定义的单击事件处理程序对它不起作用。如果是的话,还有别的办法吗 ModalView = Backbone.View.extend({ el: $('#modal'), template: _.template(

我的视图有一个click处理程序,但是当被click事件处理程序作为目标时,视图的
el
$(“#modal”)
似乎在单击时不会触发。但是,当我以
$('modal')
的任何子对象为目标时,单击就会触发click事件

我猜
$(“#modal”)
不被视为视图的一部分,因此在
事件中定义的单击事件处理程序对它不起作用。如果是的话,还有别的办法吗

ModalView = Backbone.View.extend({
    el: $('#modal'),

    template: _.template( $('#tpl_modal').html() ),

    events: {
        'click #modal': 'closeModal'
    },

    initialize: function() {
        _.bindAll(this, 'render', 'renderSimilarPosts', 'closeModal');
        this.render();
    },

    render: function() {
        $(this.el).fadeIn('fast').append( this.template( this.model.toJSON( this.model ) ) );
    },

    closeModal: function() {
        // some code
    }
});
而不是:

'click #modal': 'closeModal'
尝试:

主干事件使用jQuery的
委托
函数,该函数将处理程序(在本例中为
关闭模式
)应用于与给定选择器匹配的所有子级(在本例中为
单击#模式
)。由于使用
click#modal
我们正在#modal中查找名为#modal的子元素,因此找不到任何元素

看看我的意思

"click": 'closeModal'