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消息。通常,添加的第一个事件会引发此错误,但不会引发后续事件。
正如我所说,一切似乎都正常工作(输入出现,获得焦点等),但错误令人不安,我可能会遗漏一些东西。