1

2 つの要素があり、一方が他方にネストされています。(そのモーダル ダイアログ ボックス)。ユーザーが外側の要素をクリックすると、関数がトリガーされます。ユーザーが内側の要素 (その子) 内をcloseModalクリックすると、別の関数がトリガーされます。lilike

問題:他の解決策を見て、自分の backbone.js ビューに適用しようとしましたが、うまくいかないようです。変更する必要がある別の何かがありますか?

意見

ModalShowItemView = Backbone.View.extend({
    el: '#modal_show_item',

    events: {
        'click div#modal': 'closeModal',
        'click li#like' : 'like'
    },

    initialize: function() {
        this.render();
        this.clickHandler();
    },

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

    clickHandler: function() {
        var self = this;
        $(this.el).click(function(e) {
            if(e.target == self) {
                self.closeModal();
            }
        });
    },

    closeModal: function() {
        console.log('closemodal');
    },

    like: function() {
        console.log('like');
    }
});
4

1 に答える 1

0

他の解決策についてのあなたの言及は、おそらくあなたがする必要があること.stopPropagation()ですevent.stopPropagation(). get を介してバインドされたイベント ハンドラーが関連するイベント オブジェクトを渡すことはわかりませんがdelegateEvents、ヘルプ ページの AFAIK には記載されていません。

于 2012-08-06T14:58:29.670 に答える