onclickが実行された際、メソッドから引数を受け取りたい
JavaScriptでマルバツゲームを作っています。
実行ブラウザはGoogle Chromeです。
盤面がクリックされた際、マスに○印を描写する機能の実装中にエラーが発生しました。
コメントアウトされたハイフンで囲った箇所が該当箇所と思われます。
発生している問題・エラーメッセージ
index.js:22 Uncaught TypeError: Cannot set property 'textContent' of null at HTMLTableCellElement.onClicked (index.js:22)
該当のソースコード
JavaScript
1 2function initializeGame() { 3 4 var boardTable = document.getElementById("boardTable"); 5 6 for (var i = 0; i < 3; i++) { 7 var tr = document.createElement("tr"); 8 9 for (var j = 0; j < 3; j++) { 10 var td = document.createElement("td"); 11 td.className = "cell"; 12 td.id = "cell" + i + '-' + j; 13 14//------------------------------------------------------------ 15 td.onclick = onClicked; 16 tr.appendChild(td); 17 } 18 boardTable.appendChild(tr); 19 } 20} 21 22function onClicked(e) { 23 var clickedCellId = e.target.id; 24 document.getElementById("clickedCellId").textContent = "○"; 25} 26//------------------------------------------------------------ 27 28
試したこと
デバッグしてみたところ、メソッドonClickedの仮引数(e)に何も引数が渡されてないのかもしれないと思いました。
onclickというイベントが実行された際に、仕組みとして自動(?)でeventオブジェクトという実引数が、onclickプロパティにセットされたメソッドの仮引数に渡される認識だったのですが、この認識は間違っていますか?
どのようなコードにすれば改善されるか、教えて頂けると幸いです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Google Chrome
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/05 11:07
2020/04/05 11:11