Исключить входные события в знаменитых ангулярных из общих событий
Я пишу мобильное приложение с известным / угловым. Размах вправо в любом представлении открывает меню. Для этого я настроил следующую обработку событий:
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()
}