2017-02-01 4 views
0

Ich habe mit mehreren Eingängen mit einem Formular ein webix modalen Fenster:Wie schränkt man die TAB-Navigation innerhalb des One-Window-Widgets ein?

var form = { 
    view:"form", 
    borderless:true, 
    elements: [ 
    { view:"text", label:'Login', name:"login" }, 
    { view:"text", label:'Email', name:"email" }, 
    { 
     view:"button", value: "Submit", click:function(){ 
     console.log(this.getParentView().getValues()) 
    }} 
    ] 
}; 

Das folgende Beispiel ein Fenster gibt es, die das aktuelle Verhalten zeigt:

http://webix.com/snippet/4bd116bb

Wenn ich TAB-Navigation verwenden, Fokus verlischt das Fenster von der letzten In-Window-Steuerung. Gibt es eine Möglichkeit, die TAB-Navigation innerhalb des Fensters zu lokalisieren, sobald der Fokus angekommen ist?

+0

Wenn Sie die Tastaturereignisse erfassen und prüfen Sie auf der letzten Kontrolle in-Fenster für die Registerkarte, können Sie einfach setFocus() mit der ersten Steuer in-Fenster. Hast du http://docs.webix.com/desktop__uimanager.html#builtinkeyboardevents gelesen - All das hat gesagt, ich habe webix noch nie so benutzt. – Snowmonkey

Antwort

0

Code kann onFocusChange-Ereignis erfassen und den Fokus zurück verschieben, wenn das Ziel außerhalb des Fensters liegt.

webix.attachEvent("onFocusChange", function(target){ 
    if (!target || target.getTopParentView() != $$("win")) 
    webix.delay(function(){ 
     webix.UIManager.setFocus($$("win").getBody().elements.login); 
    }); 
}); 

http://webix.com/snippet/7db250dd

Verwandte Themen