我试图按照emberjs入门文档的todomvc教程来更好地理解它。在本教程的下一阶段,我们将编辑功能添加到待办事项。
在以下链接中:http://emberjs.com/guides/getting-started/accepting-edits/
我与教程的不同之处在于我将待办事项转换为带有标题和号码的联系人。所以这是我的html补充:
{{edit-contact class="edit" value=title focus-out="acceptChanges" insert-newline="acceptChanges"}}
{{edit-number class="edit" value=number focus-out="acceptChanges" insert-newline="acceptChanges"}}
这是我对edit_todo_view.js的补充
Contacts.EditContactView = Ember.TextField.extend({
didInsertElement: function() {
this.$().focus();
}
});
Contacts.EditNumberView = Ember.TextField.extend({
didInsertElement: function() {
this.$().focus();
}
});
Ember.Handlebars.helper('edit-contact', Contacts.EditContactView);
Ember.Handlebars.helper('edit-number', Contacts.EditNumberView);
但它会出现以下错误:
Uncaught TypeError: Cannot read property 'start' of undefined VM2755: line 971
如果我丢弃HTML中的数字或标题,它可以正常工作。
如果我调试并在"这个。$()。focus();"上面提到的那些。
非常感谢任何协助
一切顺利
答案 0 :(得分:0)
这可能与试图同时争取焦点的两个元素有关,然后在一个赢得另一个焦点并调用acceptChanges
将您的应用置于意外状态。