FocusInput

Focus to the very first text input on a web page on any key press

2024-05-20 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         FocusInput
// @namespace    https://berkantkz.github.io
// @version      0.1
// @description  Focus to the very first text input on a web page on any key press
// @author       berkantkz
// @match        *://*/*
// @homepage     https://gist.github.com/berkantkz/cfa31157d8e54d821f1ddf345a93d36a
// @icon         https://berkantkz.github.io/kz.png
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    document.onkeypress=function(k) {
        if (k.code !== "Space"){
            if (document.activeElement.tagName == "INPUT" || document.activeElement.tagName == "TEXTAREA" || document.activeElement.contentEditable == "true") return;

            var i;
            var item = document.getElementsByTagName('input');
            var l = document.getElementsByTagName('input').length;
            var n;

            for (i=0; i<l; i++) {
                if (item[i].placeholder !== '' || item[i].value !== '') {
                    console.log(item[i]);
                    n = item[i];
                    break;
                }
            }

            if (n !== document.activeElement) {
                n.value = "";
                n.focus();
            }
        }
    };
})();