LANG SELRCT

コードを書く場所についてはこちら

2018年9月6日木曜日

フォーカスされている要素を取得したい


現在フォーカスされている要素は

document.activeElement

で取得できる



画面上で何かキーを押した時に
bodyがフォーカスされているかどうかを返したくて
以下のコードを書きました




デモ




コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}
意訳
この機能がやること
指定したHTMLファイルを表示する




index.html
<!DOCTYPE html>
<html>
<body>
    <textarea></textarea>
    <script>
        window.onkeyup = window_keyup;

        function window_keyup(e) {
            var focused = document.activeElement;
            var if_body = get_if_body(focused);
            alert(if_body);
        }

        function get_if_body(focused) {
            if (focused == "[object HTMLBodyElement]") {
                return true;
            } else {
                return false;
            }
        }
    </script>
</body>
</html>
意訳
 


テキストエリア

画面上でキーが上がったら

この機能がやること
フォーカスされている要素を取得して
bodyかどうか判定して
アラートに出す


この機能がやること
フォーカスされているのがbodyなら
trueを返す
そうでなければ
falseを返す