如何在 Backbone 事件对象中使用变量?

How to use variables in Backbone events object?

目前我的代码如下所示:

events: {
    'click .update-url': 'update_url',
    'click .show-password': 'show_password'
},

但对于触摸设备,我想使用 touchstart 而不是 click 作为事件,因此我想使用这样的变量:

var click_event = is_touch_device ? 'touchstart' : 'click';

...

events: {
    click_event + ' .update-url': 'update_url',
    click_event + ' .show-password': 'show_password'
},

但是没用。如何以这种方式使用变量,同时仍在 Backbone?

中使用事件的对象

如果有人遇到同样的问题,我是这样解决的:

    events: function() {
        var _events = {};
        _events[click_event + ' a.menu-toggle'] = 'toggle_menu';
        _events[click_event + ' a.close-menu, a.authenticate'] = 'close_menu';
        _events[click_event + ' ul.menu-links > li.dd'] = 'toggle_sub_menu';
        _events[click_event + ' #search-form-lg button'] = 'expand_search';
        return _events;
    },