我的事件没有自动加载。当我在 render() 方法的末尾添加 delegateEvents() 时,它工作了一段时间。我不想使用delegateEvents,但现在,即使使用delegateEvents,事件也不会加载。
我认为当时 DOM 是未知的,所以事件没有绑定,但我该如何检查(调试)呢?
看法:
class EditGroup extends BaseView
initialize: ->
@render()
render: ->
html = _.template tpl, @model.toJSON()
@$el.html html
for own key, options of FormConfig[@model.type]
options.key = key
options.value = @model.get key
input = new Input options
input.on 'valuechanged', (key, value) => @model.set key, value
@$('section.'+key).html input.$el
@delegateEvents() # doesn't work
@
DOM:
h2 Edit Group
section.title
section.type
section.members
button.save.btn.btn-primary(onclick="return false") Save changes
在部分类型和成员中,有预输入和渲染的选择(主干视图)。一个工作没有 delegateEvents,另一个工作。父视图中的事件(如上所示)根本不起作用。删除 for 循环没有任何区别。