私の間違いはどこにあるのか分からないので1時間です。さらに、私はそれが愚かなものだと確信しています。とにかく、ここでそれは私のjavascriptのコードです:Javascriptのバグ "e.preventDefault();"関数ではありません
var deleteRefsButton = document.getElementsByClassName('refs--item--delete');
var deleteRefs = function(e, i){
e.preventDefault();
e.parentNode.classList.add('deleted');
document.getElementById('deletedInput'.i).value = true;
}
for (var i=0;i<deleteRefsButton.length;i++){
var button = deleteRefsButton[i];
button.addEventListener('click', deleteRefs(button,i), false);
}
そして、ここに私のhtmlスキーム:あなたが見ることができるように、私の目標は、リンクをクリックしてイベントをリッスンする
<div class="refs--item" id="refs1">
<div class="refs--item--text">
content
</div>
<input type="hidden" name="deleted1" value="false">
<a class="refs--item--delete" href="#">Delete this refs</a>
</div>
<div class="refs--item" id="refs2">
<div class="refs--item--text">
content
</div>
<input type="hidden" name="deleted2" value="false">
<a class="refs--item--delete" href="#">Delete this refs</a>
</div>
...
です(a.refs- -item-delete)、一番上のスクロールを防ぎ、parentNodeに "deleted"クラスを追加し、最後に真の隠し入力にtrueを追加します。
しかし、この現在のコード、何も仕事で、コンソールは言う:
Uncaught TypeError: e.preventDefault is not a function
だから、多分あなたは私のミスを見ました。
ではJavaScriptの基礎としなければならない、間違ったカップルの事があります
あなたは何を期待しましたか? 'e'パラメータとして' button'を渡しています。 – Oriol
このスレッドを参照してください。 http://stackoverflow.com/questions/25477317/typeerror-event-preventdefault-is-not-a-function役立つことを願っています。 – Nimrod
また、実際にはイベントリスナーをバインドしていません。 – Xufox