LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

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を返す







最新の投稿

二次元配列をfilterして新しい配列を作りたい

MISSION 二次元配列をfilterして新しい配列を作る BEFORE  こういう二次元配列から [[1, 0], [0, 1], [1, 1], [0, 0]]; AFTER  先頭が1だけの新しい配列を作る [[1, 0], [1, 1]]; ...