2017-06-09 5 views
1

Ich habe eine spezielle Maus, die mit den Tasten gesteuert wird. Ich meine, wenn ich den linken Knopf focuse, gehe vorwärts, wenn ich den mittleren Fokus drücke, geh hinter und der rechte drücke einen Klick. Es funktioniert nicht gut in einigen Objekten mit dem richtigen Knopf, weil die Webseite den Klick nicht erkennt, also dachte ich mir, den Klick mit einer Enter-Taste zu ändern, ich meine, wenn ich die rechte Taste drücke, will ich eine Taste drücken. Ich weiß nicht, ob ich sehr klar war. Dies ist der eigentliche Code:Drücken Sie die Eingabetaste mit einem Klick?

$(":focusable").eq(0).focus(); 
var currentFocus=$(":focusable").eq(0); 


$(document).ready(function(){ 
    $("#prueba1").mousedown(function(e){ 
    //1: izquierda, 2: medio/ruleta, 3: derecho   
    if(e.which == 3)    { 
    //PlaySound3("http://www.soundjay.com/button/beep-06.wav"); 
    //PlaySound3("https://www.soundjay.com/button/button-30.wav"); 
    PlaySound4(); 
     if(currentFocus!=undefined){ 
     currentFocus.focus(); 
     currentFocus.trigger('click'); 

     if(currentFocus.prop('tagName')=='A'){ 
      window.location.href = currentFocus.attr('href'); 
     }; 
    } 
    return false;   
    } 
    if(e.which == 2)    { 
    PlaySound3(); 
    var focusables= $(":focusable"); 
    var current= focusables.index(currentFocus); 
    var previous = focusables.eq(current-1).length ? focusables.eq(current-1) : focusables.eq(0); 
    currentFocus=previous; 
    previous.focus(); 
    return false; 
    } 
    if(e.which == 1)    { 
     parar(); 
     PlaySound(); 
     //PlaySound3("http://www.soundjay.com/button/beep-07.wav"); 
    var focusables= $(":focusable"); 
    var current= focusables.index(currentFocus); 
    var next = focusables.eq(current+1).length ? focusables.eq(current+1) : focusables.eq(0); 
    currentFocus=next; 
    next.focus(); 
    return false;  
    } 
    }); 
    }); 

Vielen Dank!

Antwort

1

Die Eingabetaste bei Rechtsklick wie folgt auslösen.

var e = $.Event("keypress", { which: 13 }); 
$('#yourInput').trigger(e); 
+0

Vielen Dank! es funktioniert jetzt! :) –

Verwandte Themen