2017-11-23 2 views
0

Ich habe eine Schaltfläche, die zwei unterschiedliche Verhaltensweisen hatJQuery Fokus und klicken Sie auf gleichzeitig auf Element läuft

  1. Während mit Tastatur mit Tabulatortaste navigieren, wenn die Schaltfläche Unschärfe bekommt wird, sollte den Fokus auf die Taste 1
  2. bewegen
  3. wenn wir Taste drücken sie die Eingabetaste, dann sollte es den Fokus auf Taste 2

Fall 1 funktioniert gut, bewegen, aber wenn wir Taste drücken sie die Eingabetaste der Fokus bewegt sich auf Taste 2 und dann auf die Taste 1 zu bewegen, hier fand ich Unschärfe Rufen Sie auch an, wenn wir die Eingabetaste drücken, damit es die Sorgenfunktion aufruft Gibt es einen Weg, mein Ziel zu erreichen?

$('#btn').on('focus', function(){ 
    }).on('blur', function(){ 
     setTimeout(function() { 
      $('.span-hlo')[0].focus(); 
     },250); 
}); 
$('#btn').on('click', function(){ 
setTimeout(function() { 
    $('.span-welcome')[0].focus(); 
    },250); 
}); 

Fiddle example

+1

'blur' immer dann aufgerufen wird, wenn das Steuerelement den Fokus verliert. –

+0

Wenn Sie ohnehin eine langsame Zeitüberschreitung von 250 verwenden, warum nicht 260 für die, die Sie zuletzt gehen wollen? –

+0

@ freedomn-m funktioniert nicht –

Antwort

0

Aktualisieren Sie Ihre jquery Gefällt Ihnen dieses

var lastClick = null; 
$('#btn').mousedown(function(e) { 
    lastClick = e.target; 
}).focus(function(e){ 
    if (e.target == lastClick) { 
     $('.span-welcome')[0].focus(); 
    } else { 
     $('.span-hlo')[0].focus();  
    } 
    lastClick = null; 

}); 
+0

Wie verwischt man mit diesem? :( –

Verwandte Themen