Disable scrolling when tapping on space button

Disable scrolling with space when not in input fields

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

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

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name         Disable scrolling when tapping on space button
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Disable scrolling with space when not in input fields
// @author       MasterMe
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Check if the target is an input field or a content-editable element
    function isInputField(element) {
        return element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || element.isContentEditable;
    }

    // Event listener for keydown
    document.addEventListener('keydown', function(e) {
        // If the space key is pressed
        if (e.code === 'Space') {
            const activeElement = document.activeElement;

            if (isInputField(activeElement)) {
                // If in input field, allow the space key to function normally
                return;
            } else {
                // Prevent spacebar from scrolling the page if not in an input field
                e.preventDefault();
            }
        }
    }, false);

    // Additional event listener for keypress to ensure no scrolling
    document.addEventListener('keypress', function(e) {
        if (e.code === 'Space') {
            const activeElement = document.activeElement;

            if (!isInputField(activeElement)) {
                e.preventDefault();
            }
        }
    }, false);
})();