- Registriert
- 3 Aug. 2014
- Beiträge
- 28.573
Über den Tastaturshortcut "Alt + y" kann:
a) in einem bestehenden Thema in das "Direkt Antworten Feld" gesprungen werden, mit erneutem Shortcut wird auf das Logo gesprungen
b) befinde man sich im WYSIWYG-Editor, wird zuerst der Titel des Beitrags angesprungen, dann das Beitragsfeld, danach wieder das Logo
c) In einem neuen Thema wird zuerst der Titel angesprungen, dann der Editor, dann wieder das Logo.
Und hier das kleine Skript.
[src=javascript]// ==UserScript==
// @name ngb_focus
// @namespace ngb_focus
// @description Focus the input areas or the logo by pressing Alt + y
// @include https://ngb.to/threads/*
// @include https://ngb.to/newreply.php?*
// @include https://ngb.to/newthread.php?*
// @version 1
// @grant none
// ==/UserScript==
function checkShortcut(evt) {
console.log(evt);
if (evt.altKey && (evt.key == 'y') ) {
evt.preventDefault();
var input = document.querySelector('input#subject');
var title = document.querySelector('input#title');
var editor = document.querySelector('textarea.cke_source');
var logo = document.querySelector('a.logo-image');
var active = document.activeElement;
if (input != null && active != input && active != editor) {
input.focus();
window.scrollTo(0, document.querySelector('form.vbform block').offsetTop - (input.clientHeight * 1.15));
return;
} else if (title != null && active != title && active != editor) {
title.focus();
window.scrollTo(0, document.querySelector('form.vbform block').offsetTop - (title.clientHeight * 1.15));
} else if (active != editor) {
editor.focus();
window.scrollTo(0, document.querySelector('div.editor_textbox').offsetTop - (editor.clientHeight * 0.45));
return;
}
logo.focus();
window.scrollTo(0, 0);
}
}
window.addEventListener('keypress', checkShortcut);
[/src]
Ich denke es wäre auch schon witzig, wenn sich das Skript merken würde, an welcher ScrollPosition man in einem Thema war, um statt auf das Logo, an diese Position zu springen, um so zwischen Beiträgen und Editor umherzuspringen, falls jemand das erweitern möchte. Zum Beispiel nach der Auswahl, welches Element gerade aktiv ist / focus hat
a) in einem bestehenden Thema in das "Direkt Antworten Feld" gesprungen werden, mit erneutem Shortcut wird auf das Logo gesprungen
b) befinde man sich im WYSIWYG-Editor, wird zuerst der Titel des Beitrags angesprungen, dann das Beitragsfeld, danach wieder das Logo
c) In einem neuen Thema wird zuerst der Titel angesprungen, dann der Editor, dann wieder das Logo.
Und hier das kleine Skript.
[src=javascript]// ==UserScript==
// @name ngb_focus
// @namespace ngb_focus
// @description Focus the input areas or the logo by pressing Alt + y
// @include https://ngb.to/threads/*
// @include https://ngb.to/newreply.php?*
// @include https://ngb.to/newthread.php?*
// @version 1
// @grant none
// ==/UserScript==
function checkShortcut(evt) {
console.log(evt);
if (evt.altKey && (evt.key == 'y') ) {
evt.preventDefault();
var input = document.querySelector('input#subject');
var title = document.querySelector('input#title');
var editor = document.querySelector('textarea.cke_source');
var logo = document.querySelector('a.logo-image');
var active = document.activeElement;
if (input != null && active != input && active != editor) {
input.focus();
window.scrollTo(0, document.querySelector('form.vbform block').offsetTop - (input.clientHeight * 1.15));
return;
} else if (title != null && active != title && active != editor) {
title.focus();
window.scrollTo(0, document.querySelector('form.vbform block').offsetTop - (title.clientHeight * 1.15));
} else if (active != editor) {
editor.focus();
window.scrollTo(0, document.querySelector('div.editor_textbox').offsetTop - (editor.clientHeight * 0.45));
return;
}
logo.focus();
window.scrollTo(0, 0);
}
}
window.addEventListener('keypress', checkShortcut);
[/src]
Ich denke es wäre auch schon witzig, wenn sich das Skript merken würde, an welcher ScrollPosition man in einem Thema war, um statt auf das Logo, an diese Position zu springen, um so zwischen Beiträgen und Editor umherzuspringen, falls jemand das erweitern möchte. Zum Beispiel nach der Auswahl, welches Element gerade aktiv ist / focus hat
Zuletzt bearbeitet: