2016-09-28 2 views
2

Ich versuche, eine Tastenkombination für Fokuszwecke zu erstellen (dies ist für 508-Kompatibilität). Ich würde gerne in der Lage sein, es innerhalb eines iframe body zu tun, aber wenn das nicht möglich ist, kann ich nach Plan B gehen und wann immer die Klasse hervorgehoben ist, um es von dort aus zu tun (dies geschieht, indem ich auf den Link tippe) . Wenn Sie irgendwo in den eingerahmten Bereich klicken, wo das Produkt angezeigt wird, und dann auf die Registerkarte klicken, um das Wort "Text" zu markieren, versuche ich, eine Verknüpfung (in diesem Fall STRG + F12) zu erstellen, um den Cursor zu bewegen zu dem Eingabefeld darunter in einem anderen Div, aber ich konnte es noch nicht arbeiten lassen.Keydown Tastaturkürzel

https://jsfiddle.net/5ocp1kpw/1/

<div> 
    <a class="link" href="#">Test</a> 
</div> 
<div> 
    <input class="final" value="here" /> 
</div> 

$('.link').keydown(function (e) { 
    if (e.which === 123) { 
     e.preventDefault(); 
     $(this).find('.final').focus(); 
    } 
}); 

Antwort

3

Es funktioniert nicht, weil Sie nicht .final in $(this) finden. Denken Sie daran, dass Sie die keydown Veranstaltung auf die .link setzen, also suchen Sie Kinder der .link zu .final sein. Da sind keine.

Das Ereignis wird ausgelöst, aber das Element, auf das Sie sich konzentrieren möchten, kann nicht gefunden werden. Tun Sie einfach $('.final').focus() oder finden Sie eine andere Möglichkeit, das Textfeld auszuwählen und Sie werden festgelegt.

Fiddle: https://jsfiddle.net/zn9sde03/

+1

ahh ich sehe, thanks man! – Keith

+0

ich werde, wenn es mich lassen wird – Keith