network
我为模型设置了就地编辑。有两个输入字段,用于模型的title
和description
。当用户单击标题时,它会切换 的<h2>
标签<input>
,就像在规范的 Todos 示例中一样。
我正在向相关模板添加事件,如下所示:
Template.network_edit.events = {}
Template.network_edit.events['click #network-description'] = ->
Session.set('editing_network_description',true)
Meteor.flush()
focus_field_by_id('network-description-input')
Template.network_edit.events['click #network-title'] = ->
Session.set('editing_network_title',true)
Meteor.flush()
focus_field_by_id('network-title-input')
focus_field_by_id
功能是,
var focus_field_by_id = function (id) {
var input = document.getElementById(id);
if (input) {
input.focus();
input.select();
}
};
一切都按预期工作,但是当我单击 时#network-description
,我在控制台中看到一个错误:
Uncaught TypeError: Cannot read property 'parentNode' of null
在第 600 行抛出liveui.js
。当我点击 时#network-title
,我没有收到这样的错误。
如果我颠倒事件的顺序,将#network-title
事件放在第一位,然后是network-description
第二位,则当我点击时会收到错误#network-title
消息。通常,添加的第一个事件会引发此错误,但不会引发后续事件。
正如我所说,一切似乎都正常工作(输入出现,获得焦点等),但错误令人不安,我可能会遗漏一些东西。