javascript - Android 上的 PhoneGap 选择框行为不当

标签 javascript android html cordova drop-down-menu

我的应用程序中有一些选择框,它们显示正确,可以选择(即:可以单击它们,显然可以进行选择),但行为不符合预期:

单击列表中的某个项目后,该选项的名称/值不会填充到表单中。

我发现了很多关于选择框问题的 stackoverflow 问题/答案,但似乎没有一个完全是我的问题。尽管如此,我尝试了这些建议,但没有成功,包括在选择框中放置一个高 z-index 值、向 CSS 添加一些 -webkit 特定值等。

我已经尝试过:

<select> box not displaying on Android in PhoneGap

<select> not working in Phonegap app on Android 2.3.3

PhoneGap build webkit-appearance no drop down arrow for select tag

https://github.com/jquery/jquery-mobile/issues/6992

https://www.daniweb.com/web-development/threads/451455/phonegap-select-box-is-not-working

不涉及 jQuery。

关于选择框我遗漏了什么吗?

一个例子——HTML:

<select name="people0" id="people0" onfocus="isDirty=1" style="display:inline-block;min-width:150px;" data-native-menu="true">
        <option value="0">Choose Person</option>
            <option value="15098">Desjardins, Emily</option>
        <option value="17304">Hulley, Patrick</option>
        <option value="1">Silver, Jason</option>
</select>

CSS:

select{
    /* Suggestions found: having trouble with not being able to select items: */
    -webkit-user-select: auto !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    z-index:1000 !important;
}

11 月 8 日更新:

我找到了一个糟糕的解决方法——但至少你可以选择选项。当 HTML 响应来自服务器时,我检查其中是否有 select 元素,如果有,则将事件监听器附加到它们:

var allSelectElements = document.getElementsByTagName('select');
for (var i=0; i < allSelectElements.length; i++) {
    allSelectElements[i].addEventListener('touchstart', function(e) {
        alert('initiating touch');
        this.focus;
    }, false);
}

我希望有人能一劳永逸地解决这个问题。 :-/

最佳答案

我使用类似的代码解决了:

var allSelectElements = document.getElementsByTagName('select');
for (var i=0; i < allSelectElements.length; i++) {
    allSelectElements[i].addEventListener('touchstart', function(e){
        //This is the important line
        e.stopPropagation(); 
    }, false);
}

关于javascript - Android 上的 PhoneGap 选择框行为不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594325/

相关文章:

php - datetimepicker 不想要我的 php 变量

javascript - 在 javascript : a mix of standard javascript and jquery? 中编码有什么问题吗?

javascript - 用加号替换单词

Android 在可扩展 ListView 中禁用自动滚动

android - 是否可以从 PreferenceActivity 中的 Preference 启动 DialogFragment?

javascript - 断言文件下载的 Testcafe 示例

android - 如何获取文档对象的字符串内容(包括标记)?

html - 左侧边栏中带有顶部和底部部分的 CSS 布局

javascript - 添加了当用户点击后退按钮时的提醒,但现在我想在提交表单时将其删除

html - 使用 :hover, :focus 更改悬停类之外的另一个 css