Disable scrolling when tapping on space button

Disable scrolling with space when not in input fields

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==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);
})();