关于视图中的delegateEvents的快速问题 - 我们可以在单个事件定义中指定多个事件绑定吗?
例如,而不是:
'keyup .text-input': 'textEvents',
'keydown .text-input': 'textEvents',
'focusin .text-input': 'textEvents',
'focusout .text-input': 'textEvents',
'click .text-input': 'textEvents',
...
Run Code Online (Sandbox Code Playgroud)
这可能吗?
'keyup keydown focusin focusout click .text-input': 'textEvents',
Run Code Online (Sandbox Code Playgroud)
不,你做不到.从精细手册:
事件以格式编写
{"event selector": "callback"}
该event
隐含一个字(就像在jQuery和DOM的事件),而selector
可以是任何jQuery的风格选择.此外,this.events
使用此正则表达式解析键入:
var delegateEventSplitter = /^(\S+)\s*(.*)$/;
Run Code Online (Sandbox Code Playgroud)
所以它event
是第一个组件,只有第一个组件.
你可以events
自己构建对象并delegateEvents
手动调用这样的东西:
var catch = ['keyup', 'keydown', 'focusin', 'focusout', 'click'];
var events = { };
_(catch).each(function(ev) { events[ev + ' .text-input'] = 'textEvents' });
this.delegateEvents(events);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3912 次 |
最近记录: |