Javascriptの中で指定ページ以外のページのconsoleを見ると
Uncaught TypeError: Cannot read property 'addEventListener' of null
というエラーが突然出た件。
あれ?指定ページでは出ないのに、、なぜ?となったので備忘録として。
今回のコード
window.addEventListener("load",function(){
const priceGet = document.getElementById("item-price");
priceGet.addEventListener("input", () => {
以下略
原因は他のページではidがitem-priceの要素が存在しないため
priceGetがnullになってしまう。
nullに対してaddEventListenerを使用したことでエラーが発生した。
対応策として
window.addEventListener("load",function(){
const priceGet = document.getElementById("item-price");
if (!priceGet){ return false;}
priceGet.addEventListener("input", () => {
以下略
if (!priceGet){ return false;}
を記載することで
priceGetがnullの場合にそれ以降のコードを読まないように実装できる。
もし何か間違い等あれば教えていただきたいです!