2012-02-15 79 views
0

我正在爲iOS,Android和Blackberry創建應用程序,並且正在使用phonegap(HTML和JavaScript)來執行此操作。Phonegap - 下拉不可點擊(Android和iOS)

但是,添加了多個HTML Dropbox後,我似乎無法使用我的Android單擊它們(尚未在iOS上進行測試)。這些在正常的網頁瀏覽器(FF和Chrome)

<select> 
    <option>option 1</option> 
    <option>option 2</option> 
</select> 

可有人請諮詢我如何克服這個觸摸選擇問題,都不過工作?

感謝

+0

? ? – ghostCoder 2012-02-16 12:12:40

+0

嗨,是的,我正在使用iscroll和釋放,這是造成這個問題,但這意味着我的網頁不再滾動這對我沒有用。你能想到解決我的原始問題,或另一種方式滾動我的android和IOS頁面。謝謝 – 2012-02-16 12:19:31

回答

0

我已經找到了解決這個問題的方法,那就是使用jquery mobile dropdowns。這如下簡單。我也正在使用自定義頁腳,這也是我從jquery mobile取得的。這些都可以在這裏找到 - http://jquerymobile.com/demos/1.0.1/

<label for="select-choice-1" class="select">Shipping method:</label> 
    <select name="select-choice-1" id="select-choice-1" data-native-menu="false"> 
     // POP OUT DROP DOWN HEADER 
     <option value="choose-one" data-placeholder="true">Choose one...</option> 
     <option value="standard">options/option> 
    </select> 

* 編輯:

下面的JavaScript代碼可以更好地工作,涉及到你綁定touchstart到培訓相關下拉框:使用iscroll

var dropdown = document.getElementById('Dropdown Name'); 
dropdown.addEventListener('touchstart', function(e) { 
    e.stopPropagation(); 
}, false); 
+0

嗨LandL Partners可能是什麼問題?我沒有在我的應用中使用jQuery手機,如何解決這個問題。我檢查了它的android 2.3和科爾多瓦版本是3.3.0 – nani1216 2014-02-10 12:54:02

+0

@ nani1216請看我編輯的答案,這可能會幫助你。 – 2014-02-10 14:18:30

1

下面的代碼添加到_start()函數iscroll.js的e.preventDefault()

if ( e.target.tagName == "SELECT" 
     || e.target.tagName == "INPUT" 
     || e.target.tagName == "BUTTON" 
     || e.target.tagName == "TEXTAREA") { 
     return true; 
    } 

之前應該能正常運行。

+0

我在這裏添加了代碼,但它仍然無效,我錯過了什麼嗎? \t _start:功能(E) \t { \t \t如果(e.target.tagName == 「SELECT」 || e.target.tagName == 「INPUT」 || e.target.tagName == 「BUTTON」 | | e.target.tagName ==「TEXTAREA」) \t \t { \t return true; \t} – 2012-02-16 14:26:33

+0

檢查了這一點,並告訴我,如果一些SOLN工作 https://github.com/cubiq/iscroll/issues/13 – ghostCoder 2012-02-16 14:36:08

+0

u必須將代碼添加到iscroll.js的_start – ghostCoder 2012-02-16 14:36:43