2014-01-13 3 views
1

У меня есть веб-приложение, которое использует мышеловку API для быстрых клавиш. Я столкнулся с трудностями в следующем сценарии: Я в модальном (jQueryUI), и этот модаль имеет второе модальное предупреждение. Когда предупреждение закрыто, фокус не возвращается к основному модальному, поэтому ярлыки не работают, вам нужно щелкнуть мышью в модальном div, чтобы ярлык снова работал. Мой вопрос: есть ли способ заставить мышеловку игнорировать фокус на div и принять глобальное поведение?
Если нет, есть ли способ обойти это?MouseTrap потерял фокус в модальном popUp

ответ

2

Один из способов решения этой проблемы - когда второй модальный объект закрыт, заставляя щелчок мыши на текущем модале использовать javascript.
Как вы можете не знать, что такое текущий модальный, использовать позицию (центр экрана), чтобы найти активное поле.
Нечто подобное

function ClickCenterScreen() { 
    x = $(document).width()/2; 
    y = $(document).height()/2; 
    element = $(document.elementFromPoint(x, y));   
    element = $(element).contents().find("form").find("input[type=text]").first(); 

    // you need to set focus on element first. 
    $(element).focus(); 
    $(element).click(); 
} 
Смежные вопросы