2016-12-06 77 views
0

我希望iOS和Android設備的鍵盤在1s後自動打開,此時特定的textarea可見。Ionic/Cordova:無法以編程方式觸發iOS鍵盤

我創建了一個directive,但iOS上的鍵盤還沒有彈出!是否有關於iOS 10鍵盤的(新)問題?

textarea樣子:

<textarea rows="20" autocorrect="off" ng-trim="false" focus-me></textarea> 

而且該指令的樣子:

app.directive('focusMe', function($timeout) { 
    return { 
    link: function (scope, element, attrs) { 
     $timeout(function() { 
     element[0].focus(); 
     if (window.cordova.plugins.Keyboard && ionic.Platform.isAndroid()) { 
      window.cordova.plugins.Keyboard.show(); //open keyboard manually on android 
     } 
     }, 1000); 
    } 
    }; 
}); 

在Android和瀏覽器一切正常,但在iOS上也沒有反應。

回答

0

我認爲你缺少添加ionic.Platform.isIOS()如何在你的指令內部條件化。

問候。

+0

謝謝。但是iOS不需要'window.cordova.plugins.Keyboard.show()'語句。如果我爲iOS調用這個函數,Xcode會警告'element.focus()'就足夠了。 –

+0

有人在PJSIP上工作過嗎?我從上個月開始對此進行干預 – Eesha

+0

您可以使用'native.keyboardshow'進行嘗試。在這裏你可以找到更多關於此的信息:[link](https://github.com/driftyco/ionic-plugin-keyboard#nativekeyboardshow) –

0

您是否嘗試在config.xml中添加此行?

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

是的,我已經添加了這一行,但它也不起作用。 –

相關問題