が存在する前に、私は前にこの問題を持っていた呼び出されます私のbindevents
メソッドで私は削除ボタンをクリックしてどこに問題を発行しますが、削除ボタンは一度だけ追加されています。削除機能は、基本的に私は私のアプリがイベントを結合、DOMをキャッシュすなわち分離のすべてを維持したいのですが、ジャバスクリプトなどには、HTML</p> <p>私が持っていない、ボタンが
私はエラーが取得しています:私は、私は存在しない要素のDOMを探しています、私はどのようにそれがあるような構造を維持するだけで検索しないと思いますので
Uncaught TypeError: Cannot read property 'addEventListener' of null
をアイテムが追加されたら、削除ボタンのDOM?
JSが
(function() {
var toDo = {
data: [],
cacheDom: function() {
this.toDoApp = document.getElementById('to-do-app');
this.toDoTemplate = document.getElementById('to-do-template');
this.addToDo = document.getElementById('add-to-do');
this.addToDoValue = document.getElementById('add-to-do-value');
this.deleteToDo = document.querySelector('.to-do-delete');
},
load: function() {
this.toDoTemplate = Handlebars.compile(this.toDoTemplate.innerHTML);
},
render: function() {
this.toDoApp.innerHTML = this.toDoTemplate(this.data);
},
bindEvents: function() {
this.addToDo.addEventListener("click", this.add.bind(this));
this.deleteToDo.addEventListener("click", this.delete.bind(this));
},
add: function(e) {
var toDoValue = this.addToDoValue.value;
if(toDoValue) {
var toDoObj = {
value: toDoValue,
id: Date.now()
}
this.data.push(toDoObj);
}
this.render();
},
delete: function() {
console.log("delete!");
},
init: function() {
this.cacheDom();
this.bindEvents();
this.load();
this.render();
}
}
toDo.init();
})();
ボタンを押して、それを非表示にすることができます。 – Paul