如何在 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;
},
目前我的代码如下所示:
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;
},