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







最新の投稿

GASでWebアプリを作ってローカルファイルをGoogleドライブにアップしたい(アプリを開くユーザーとファイルをアップロードするユーザーを分けたい)

Google Driveに複数ファイルをアップロードしたい(submitボタン使わない) の応用です。 GASでWebアプリを作ってローカルファイルをGoogleドライブにアップしたい 以下の条件を満たすもの 条件 アップロード先はGoogleドライブの共有フォルダ そのフォルダ...