2016-04-25 88 views
2

我正在使用PhoneGap創建一個新應用程序。 我需要使用鍵盤事件,並且我無法讓它們工作。我只在Android設備上進行測試。離子插件鍵盤不工作

我讀過關於它的所有其他問題,並且沒有任何建議的解決方案適用於我。 我已經創建了一個非常簡單的項目,現在試圖解決這個特定的問題。

這個想法是:我有和輸入框。當設備準備就緒時,我改變了盒子的顏色(這是有效的)。當我點擊輸入並顯示鍵盤時,我想改變框的顏色,當我關閉鍵盤時,我想再次改變顏色。

HTML

 <head> 
      <meta charset="utf-8" /> 
      <meta name="format-detection" content="telephone=no" /> 
      <meta name="msapplication-tap-highlight" content="no" /> 

      <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 

      <link rel="stylesheet" type="text/css" href="css/index.css" /> 
      <link rel="stylesheet" type="text/css" href="css/style.css" /> 

      <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 

     </head> 

     <body> 

       <form><input type="number" name="amount"></form> 
       <div id="box"></div> 


       <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
       <script type="text/javascript" src="js/index.js"></script> 
       <script type="text/javascript" src="js/main.js"></script> 


       <script type="text/javascript">app.initialize(); 
       </script> 
      </body> 

這是我main.jsdeviceready事件正確地在我的設備上正常工作並更改了框的顏色。但是一無所知hidekeyboardshowkeyboard

if (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/)) { 
     document.addEventListener("deviceready", onDeviceReady, false); 
    } else { 
     onDeviceReady();} 

function onDeviceReady(){ 
     $('#box').css({'background-color': 'red'}); 
     document.addEventListener("hidekeyboard", onHide, false); 
     document.addEventListener("showkeyboard", onShow, false);} 

function onHide() { 
     $('#box').css({'background-color': 'green'}); } 

function onShow() { 
     $('#box').css({'background-color': 'black'}); } 

我加在config.xml中這一行:

<plugin name="com.ionic.keyboard" source="pgb" /> 

我也試圖在的index.html但我添加代碼刪除它,因爲它沒有工作。

在此先感謝!

回答

0

而不是你keyboardhide和keyboardshow事件監聽器的

嘗試

native.keyboardshow native.keyboardhide