Исключить входные события в знаменитых ангулярных из общих событий

Я пишу мобильное приложение с известным / угловым. Размах вправо в любом представлении открывает меню. Для этого я настроил следующую обработку событий:

var MouseSync   = $famous["famous/inputs/MouseSync"];
var TouchSync   = $famous["famous/inputs/TouchSync"];
var GenericSync = $famous['famous/inputs/GenericSync'];

$scope.sync = new GenericSync(
        ["mouse", "touch"], 
        {direction: GenericSync.DIRECTION_X}
);

$scope.sync.on('update', function(data){
    // do stuff while swiping
});

$scope.sync.on('end', function(data) {
    // do stuff at swipe end
});

Выше все работает нормально. Моя проблема сейчас в том, что у меня есть html-входы в некоторые из представлений, к которым я не могу получить доступ / войти из-за вышеупомянутого Поверхности, в которых они содержатся, передают свои события для синхронизации:

<fa-surface fa-pipe-to="sync">
    <input type="text"></input>
</fa-surface>

Я знаю, что проблема в том, что событие click на моем входе передается для синхронизации. Я просто не знаю, что с этим делать. Есть идеи?

Большое спасибо!

1 ответ

Решение

Вы пробовали атрибут автофокуса HTML5? <input type="text" autofocus></input> или установка фокуса на клик? <input type="text" ng-click="focus($event)"></input>

Для второго варианта вам нужно настроить функцию в области видимости следующим образом:

$scope.focus = function(ev){ ev.target.focus() }

Другие вопросы по тегам