html
1<input type="range" name="count" min="0" max="20" value="8" id="count">
javascript
1const count = document.getElementById("count"); 2 3count.addEventListener('change', () => { 4 console.log(this.count.value); 5});
Javascript初心者です。フォームの値を取得して、フロントエンドでのバリデーションの練習をしたいと思っています。addEventListener
内でのthis
の実体はcount
だと思っていたのですが、console.log(this)
をしてみるとWindow index.html
であることがわかり、上記のようにthis.count.value
とすることで想定通りの結果を得ることができました。
const
をした時点でdocument.
としているので、addEventListener
内でもthis
の実体がcount
とならないのはなんとなく理解できたのですが、どうも直感的でない気がします。質問したいことは、なんらかコードを変えることによって、this
の実体がcount
を指すようにし、以下のようなコードで想定通りの結果を得ることができるかどうかをお聞きしたいです。
javascript
1const count = document.getElementById("count"); 2 3count.addEventListener('change', () => { 4 console.log(this.value); 5});
質問がわかりにくいかもしれませんが、よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/12 13:31
2016/08/12 13:55 編集
退会済みユーザー
2016/08/12 14:03