Ionic-framework: Eingabe auf Popup fokussieren

Erstellt am 18. März 2014  ·  7Kommentare  ·  Quelle: ionic-team/ionic-framework

Einige Popups sollten ihre Eingaben zuerst fokussieren. Sollte dies jedoch testen, um sicherzustellen, dass es unter iOS gut funktioniert.

Hilfreichster Kommentar

Ich musste diese Vorlagenzeichenfolge zu meiner Eingabeaufforderung hinzufügen, um den Autofokus zu haben

template: '<input ng-model="data.response" type="text" placeholder="{{ placeHolder }}" autofocus>'

Alle 7 Kommentare

Popups fokussieren ihre Eingaben bereits zuerst. Dies hat jedoch einen Fehler. Das Popup fokussiert immer das LETZTE Eingabeelement. Es sollte wirklich das erste konzentrieren.

Forum: http://forum.ionicframework.com/t/popup-with-multiple-text-input-fields-always-focuses-on-2nd-input/4956/2
Beispiel: http://codepen.io/calendee/pen/duvsl?editors=101

PR kommt in ein paar Minuten.

Ich finde, dass dies im Web großartig funktioniert, aber nicht auf iOS ... der Code wird ausgeführt, aber die Eingabe fokussiert nicht und die Tastatur öffnet sich nicht.

@michaelnatkin : Stellen Sie in Ihrer config.xml sicher, dass Sie diese Einstellung haben:

<preference name="KeyboardDisplayRequiresUserAction" value="false" />

iOS lässt nicht zu, dass ein Feld den Fokus erhält und die Tastatur geöffnet wird, es sei denn, dies ist auf false festgelegt.

@calendee OMG danke!! Problem gelöst. Ionic-Team es wäre schön, diese Anmerkung dem ionicPopup-Dokument hinzuzufügen.

@calendee Es funktioniert auf iOS, aber auf Android-Geräten nicht. Oder habe ich etwas vergessen?

@felquis , ich hatte das gleiche Problem. Nachdem ich mir dieses Problem und #1176 angesehen hatte, fand ich schließlich https://github.com/driftyco/ionic/commit/49a295638d6c60b7e17936cfb345665f6b1954d1 , und ich konnte meine Anwendung mithilfe einer Vorlage mit einer autofokussierten Eingabe reparieren:

diff --git a/www/js/app.js b/www/js/app.js
index 8e7afcd..1131dfb 100644
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -57,6 +57,7 @@ angular.module('todo', ['ionic'])
   $scope.newProject = function() {
     $ionicPopup.prompt({
       title: 'Project name',
+      template: '<input autofocus>'
     })
     .then(createProject)
   };

Ich musste diese Vorlagenzeichenfolge zu meiner Eingabeaufforderung hinzufügen, um den Autofokus zu haben

template: '<input ng-model="data.response" type="text" placeholder="{{ placeHolder }}" autofocus>'

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen