2011-10-26 32 views
9

我目前正在開發一個網頁設計的瀏覽器和移動設備時遇到麻煩黑莓的KEYUP從Javascript對黑莓

我想要的功能是當按下一鍵觸發彈出。我目前的代碼在瀏覽器中工作,但不在黑莓手機上。我在運行OS 5.0的黑莓模擬器上啓用了javascript和javascript彈出窗口。

初始呼叫:

window.onkeyup = GetKeyUp; 

,然後方法:

function GetKeyUp(e) { 
     var KeyID = (window.event) ? event.keyCode : e.keyCode; 
     alert(KeyID); 
} 

什麼是不工作的黑莓手機,將在瀏覽器中運行? 或者:

如何捕獲從JavaScript的黑莓按鍵?

感謝, 泰

最新進展:使用 「window.addEventListener(」 KEYUP 「...)」 或 「document.addEventListener(」 KEYUP 「...)」,而不是不工作。

+0

大問題。我在Android 2.2和2.3瀏覽器中遇到過這個問題。 –

回答

1

黑莓似乎有一些與JavaScript的困難。 如果你有可能,我會建議你去圖書館(如JQuery)。通常這些類庫都是xbrowser兼容的,它們爲你做兼容性工作。

如果您必須保持純JavaScript代碼,請嘗試在您的GetKeyUp函數中添加alert()以查看onkeyup事件是否被識別。

+0

不幸的是,我必須留在純粹的js中。 =( –

+0

GetKeyUp事件永遠不會觸發,我在該函數的開始處放置一個警報,但仍然沒有任何東西。 –

+0

如果您嘗試其他事件(點擊,mousedown等),會發生什麼? – FMaz008

2

奇怪的......有些事我想嘗試:

  1. 確保您的JavaScript在黑莓啓用(它通常是默認禁用)。

  2. 嘗試使用.charCode代替.keyCode

  3. 嘗試使用的document.onkeyup代替window.onkeyup

+0

Javascript已啓用,我也試過文檔而不是窗口,依然沒有觸發事件。 –