network
モデルのインプレイス編集をセットアップしました。モデルのtitle
とdescription
の2つの入力フィールドがあります。ユーザーがタイトルをクリックすると、<input>
の<h2>
タグが正規のTodosの例のように切り替わります。メテオでのインプレイス編集:ヌルのプロパティ 'parentNode'を読み取ることができません
私はこのような関連のテンプレートにイベントを追加してい:
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
liveui.js
。 #network-title
をクリックすると、そのようなエラーは発生しません。
#network-title
イベントを最初に、network-description
を2番目に設定すると、代わりに#network-title
をクリックするとエラーが表示されます。一般に、追加された最初のイベントはこのエラーをスローしますが、後続のイベントはスローしません。
私が言ったように、すべてが正しく動作するように見える(入力が現れる、フォーカスが合うなど)が、エラーは戸惑うので、何か不足している可能性があります。
このプロジェクトはどこかで展開できますか? 'focus_field_by_id'関数を投稿してください。 – lashleigh
focus_field_by_id関数の定義を追加しましたが、それらの呼び出しがコメントアウトされてもエラーがスローされます。私は現時点ではこれをどこにも公開していませんが、そうするでしょう。 –
ええと、私はバグがこのコードにあるとは思わない。このエラーは、何かが定義されていないことを意味し、流星では、通常、データベースのロードが完了していないことを意味します。または、オブジェクトを予期していたときにテンプレートヘルパーがnullを返しました。または、セッション変数がまだ設定されていません。それらは私がFWIWに見える場所です。 – lashleigh