【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
以下のように、focus() の命令を先に実行した場合、 入力欄にフォーカスが当たっているにも関わらず、 p 要素が空文字で表示されてしまいます。
focus()
p
'use strict'; { document.querySelector('input').focus(); document.querySelector('input').addEventListener('focus', () => { document.querySelector('p').textContent = 'English only!'; }); document.querySelector('input').addEventListener('blur', () => { document.querySelector('p').textContent = ''; }); }
一度フォーカスを外して、 再度入力欄にフォーカスを当てると、 p 要素に English only! が表示されます(想定通りの挙動)。
English only!
上から命令が実行されているとすれば、 最初から English only! が表示されるのが自然だと考えてしまうのですが、 どういった理由でこのようになっているのでしょうか。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
以下のように、
focus()の命令を先に実行した場合、入力欄にフォーカスが当たっているにも関わらず、
p要素が空文字で表示されてしまいます。一度フォーカスを外して、
再度入力欄にフォーカスを当てると、
p要素にEnglish only!が表示されます(想定通りの挙動)。上から命令が実行されているとすれば、
最初から
English only!が表示されるのが自然だと考えてしまうのですが、どういった理由でこのようになっているのでしょうか。