1

我正在尝试遵循关于 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 中的数字或标题,它可以正常工作。

如果我调试并在“this.$().focus();”中放置断点,它也可以正常工作 上面提到的线路。

任何帮助将不胜感激

祝一切顺利

4

1 回答 1

0

这可能与试图同时争夺焦点的两个元素有关,然后在一个获胜后另一个焦点出局并调用acceptChanges将您的应用程序置于意外状态。

于 2014-07-21T14:18:08.247 回答