Javascriptbutton per Tastaturbefehl ansteuern/anklicken lassen

  • Hallo zusammen,


    habe nach einigen vergeblichen Versuchen mein Problem selbst zu lösen dieses Forum gefunden und hoffe Ihr könnt mir bei der Lösung meines Problemes helfen...


    dabei geht es im wesentlichen um folgendes:


    Habe mir eine Fotobox gebaut, welche über eine Internetseite in einem geöffneten Browser gesteuert wird. Dies funktioniert auch alles wunderbar.


    Hier ein Beispiel wie die Seite aussieht: http://photobooth.andrerinas.de/

    (der zugehörige Quellcode und Scriptbefehle seht ihr hier: https://github.com/andreknieriem/photobooth)


    auf dieser Seite befindet sich der Button "Foto machen" welcher den Countdown für das Bild startet, sobald man diesen anklickt.


    Nun möchte ich gerne aber erreichen, dass man anstatt den Button anzuklicken auch einen bestimmten Buchstaben (z.b. B) drücken kann um die Funktion des Buttons auszulösen.... sozusagen, dass beim Tastendruck ein virtueller Klick auf den Button "Foto erstellen" erfolgt...


    Habt ihr eine Idee, bzw, konkreten Vorschlag wie ich das umsetzen kann? bzw. welchen Code ich wo einfügen muss?



    Hoffe ihr könnt mir weiterhelfen...


    VG und einen guten Start ins neue Jahr!


    Euer Winni86



    PS: die OnclickAktion des Buttons findet ihr hier (https://github.com/andreknieri…ster/resources/js/core.js) in Zeile 200

  • Code
    document.getElementsByTagName('body')[0].addEventListener ('keydown', function (event) {
     
       if (event.which == 66) { 
      alert('B gedrückt')
          }
        
    });

    wenn du die taste b drückst kommt ein alert. das musst du nur noch da einbauen,wo du es brauchst . hast du den schon was vorbereitet an code ,oder noch nix gemacht

  • Hallo Basti1012,


    vielen Dank für deine Antwort! :) habe schon versucht, ähnliche Vorlagen wie deine obige in die Seite einzubinden, leider ohne Erfolg.


    diese Vorlagen schaffen es zwar alle z.b. einen Alarm auszulösen oder ein neues Fenster zu öffnen, aber nicht einen Klick auf den "Foto machen" Button zu simulieren, bzw. diesen Button auszulösen.... oder sehe ich das falsch?


    habe unter anderem versucht in der Datei Core.js (sozusagen das Herzstück) folgenden Code einzufügen:


    Code
    $('.takePic, .newpic').on('keyup', function(e){
    if(e.keyCode == 66)
    })

    dieser soll die etwas Modifizierte Variante des originalen/normalen Foto erstellen Buttons sein...und auf Tastendruck genau das gleiche auslösen wie beim Klicken des Buttons...


    kurz zur Erläuterung meines obigen Codes:


    beim durchstöbern des "Haupt"-Scripts (Core.js) habe ich den Code ausfindig gemacht, welcher einen Klick auf den Button erkennt und das Event auslöst....dieser lautet im Original:


    habe ich das richtig erkannt? oder ist das bereits ein Fehler von mir?


    nun dachte ich halt, wenn ich genau diesen Code 1:1 in Core.js dupliziere und mit einem Eventlistener für die Taste 66 versehe, sollte es funktionieren...tat es nur nicht :(


    muss leider zugeben, dass ich mit Javascript auch nur wenig Erfahrung habe, weshalb ich auch nur die hälfte Verstehe, was der Code bewirkt....


    hoffe sehr du/Ihr könnt mir weiterhelfen!


    VG Winni

  • Da dieses core.js offenbar von github ist, würde ich es nicht ändern, sondern den Code ganz unten vor dem schließenden </body> auf der HTML-Seite einfügen. Und nicht vergessen, ihn in Script-Tags einzubetten.

  • Super! :) hat funktioniert.... vielen vielen Dank euch beiden! da sieht man mal wieder wie schnell erfahrene Programmierer ein Problem lösen können...


    ich zwei Tage und Ihr zwei Minuten.....^^


    kann man euch bzw. das Forum in irgendeiner Art unterstützen für die Hilfe?

  • unterstützen kannst du das forum mit guter laune.Sowas sehen wir gerne.


    irgendwie habe ich probleme mit meiner camera . wenn er da schreibt cheeeeeeeeees ,dann macht er kein foto von mir sondern irgendein verschwomenes bild was 500 mal im quellcode steht. ich kriige kein code auf meiner pageder auf kamera zu greift. zumindest geht es beim mir nicht ,nur die fiddles da laufen die kameras

  • Hallo Basti, welche Kamera benutzt du denn? diese Photobooth ist für die Nutzung mit einem Raspberry Pi und DSLR Kameras konzipiert, welche über eine App auf dem Raspberry (Gphoto2) ausgelöst wird....


    Fokussiert die Kamera denn? Falls ja könnte es sein, dass sie Fokussiert aber nicht schnell genug ein Objekt scharf gestellt bekommt bevor sie auslöst....dann aber schon das Foto ausgelöst hat... hier kannst du mal vorher etwas normal anfokussieren und dann den AF aus stellen...und schauen ob das Problem der unscharfen Fotos erneut auftritt....


    Vllt kann ich dir hier ja ein wenig hilfestellung geben ;) PS: Das der Datei-Name mehrere male in der seperaten Datei auftaucht ist der Gallery und der Software für die Kameraauslösung (Gphoto2) geschuldet....



    VG Winni

  • nee habe das nur an laptop ausprobiert, da funktioniert nix. aber wenn dusagst das es nur für handys ist dann kann es wohl auch nicht gehen .


    weiss sowieso nicht ob meine cam spint oder was hier los ist weil auf meiner page habe ich diese


    http://sebastian1012.bplaced.net/kamera2.html


    und dies


    http://sebastian1012.bplaced.net/kamera.html


    drauf gemacht . wenn ich beides in ein fiddle lade geht es,schon ist es auf der page geht nix mehr .also ich bekomme da zumindest kein bild von der kamera

  • hi basti, irgendwie kann ich dir nicht ganz folgen... die scripte auf deiner homepage sind doch komplett anders oder?


    die seite kamera2.html funktioniert bei mir überhaupt nicht


    und kamera.html scheint eher eine Art Timelapse bzw. Zeitraffersteuerung für eine Kamera zu sein....

  • das komische ist das die scripte auf fiddle ja laufen und aufpage nicht mehr,dasverstehe ich nicht .muss man da nochirgendwas in den metadaten oder so einsellen damitdie seite auf der cam zugreifen darfoder so

  • ich würde mal in den Grundeinstellungen des Browsers, bzw von Javascript schauen ob dort überhaupt die benötigten Berechtigungen gesetzt sind, damit diese die Webcam ansprechen dürfen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!