2017-02-01 45 views
0

У меня есть модальное окно Webix с формой с несколькими входами:Как ограничить навигацию TAB в виджетах одного окна?

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()) 
    }} 
    ] 
}; 

В следующем примере есть окно, которое показывает текущее поведение:

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

Если я использую TAB навигации, фокус выходит из окна из последнего управления в окне. Есть ли способ локализовать навигацию TAB в окне после того, как фокус попадет?

+0

Если захватить события клавиатуры и проверьте, на последнем контроля качества в окне на вкладке, вы можете просто SETFOCUS() для первого контроля качества в окне. Вы читали http://docs.webix.com/desktop__uimanager.html#builtinkeyboardevents. Все, что сказал, я никогда не использовал webix. – Snowmonkey

ответ

0

Код может поймать событие onFocusChange и переместить фокус назад, если цель является внешним видом окна.

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