为了更好地理解todomvc教程,我试着学习有关入门文档的todomvc教程。在本教程的下一阶段,我们将编辑功能添加到todo项中。
在以下链接中: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中的数字或标题,它就能正常工作。
如果我调试并在上面提到的"this.$().focus();“行中放置一个断点,它也可以正常工作。
如能给予协助,将不胜感激。
万事如意
发布于 2014-07-21 14:18:08
这可能与两个因素同时努力争取焦点有关,然后在其中一个赢了之后,另一个就会把焦点转移出去,然后调用acceptChanges,让你的应用程序处于一个意想不到的状态。
https://stackoverflow.com/questions/24854953
复制相似问题