• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

Javascript: Hotkey-Klick auf Button "vereinzeln"

DeletedUser

Gast
Ich habe mir ein Script gesucht, mit dem ich z.B. den OK-Button einer Seite per Hotkey auslösen kann. Das Script habe ich dann im Hotkey-Manager meines Browsers eingebaut, funktioniert auch.

Nun das Problem: Wenn auf einer Seite mehrere OK-Buttons vorhanden sind, werden die durch den Hotkey alle gleichzeitig ausgelöst. Mag hier und da praktisch sein, aber für DS sehr gefährlich ^^
Wie kann man das nun so ändern, dass je "Klick" immer nur einer der Buttons ausgelöst wird?

Problem 2: In den Übersichten ist (seit 8.0?) ein OK-Button versteckt, der im eingeklappten Menü "Gruppen bearbeiten" liegt. Auf diesen Seiten müsste das Script also den ersten Button überspringen. Ist das möglich?

Script:
Code:
$("input[value^='OK']").each(function() {$(this).click();});
 

DeletedUser

Gast
Mit V8.0 kannst du jetzt doch einfach auf Enter klicken bei den Befehlen etc o_O
 

DeletedUser

Gast
Die rechte Hand bleibt auf der Maus, während die linke für Hotkeys zuständig ist: Esc für Tab schließen, qwerasd... für SL-Links usw, und deshalb x für OK.
Das fokussierte Buttons nun auf Enter liegen ist mir bekannt, nützt mir aber herzlich wenig, und ist keine Antwort auf meine Frage.
 

DeletedUser

Gast
Ist nicht getestet, also am besten erst mal i-wo testen wo es ungefährlich ist :p

Es wird immer der erste sichtbare Button auf der Seite ausgelöst.
Wenn die Seite nicht neugeladen wird, dann wird beim zweiten Tastendruck der nächste sichtbare Button ausgelöst.
PHP:
window.hotkeyclicks = window.hotkeyclicks?window.hotkeyclicks+1:0;
var i = 0;
$("input[value^='OK']").each(function() {
  if (this.offsetWidth !== 0 && this.offsetHeight !== 0) {
    if(window.hotkeyclicks == i) {
      $(this).click();
      }
    i++;
    }
  });
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
Habs auf Beta mit dem Anfordern-Button getestet, löst trotzdem alle gleichzeitig aus...
 

DeletedUser

Gast
Löst beim Anfordern nur den ersten aus, lädt danach aber die Seite neu, so dass die anderen weg sind ^^
 
Oben