Windows Phone 8.1 cordova 下拉菜单不工作

Windows Phone 8.1 cordova dropdown not working

我有一个基于 cordova 的应用程序,它在两个非常相似的 Windows Lumia phone 上表现不同。选择(也称为下拉菜单)在较新的 phone.

上不起作用

他们不做的phone是这个:

Lumia Denim 640 LTE
OS, 8.1, Update 2
Application Version, 3.15.4.28
Manufacturer Name, RM-1073_1001
Carrier, T-Mobile

他们正在做的phone是这个:

Lumia Cyan 520
OS 8.1
"Application Version", 3.15.4.28
Manufacturer Name, RM-915_nam_usa_228
Carrier, AT&T

当我 运行 应用程序从 Visual Studio 直接连接到设备时,控制台中没有错误。

应用程序初始化时,根据设计,选择会使用 jsRender 和 jsViews 绑定到 json 对象。

同一个应用程序 运行 在 iOS 和 Android 上运行良好。

我不想使用 WinJs 控件。

想法?

其实这两款手机很相似,但是有一个重要的细节。 Lumia 640 有一个 FWVGA 屏幕 (1280x720)。 它可能会导致 Windows Phone cordova Apps 的设计问题(发生在我身上)。

为了解决它,我在 Cordova Project MainFile 中用 C# 实现了以下代码

public MainPage()
{
    InitializeComponent();
    this.CordovaView.Loaded += CordovaView_Loaded;

    //Adjusting Cordova View for New Lumias pixel ratio
    this.CordovaView.Margin = new Thickness(0, 0, 0, -90);
    this.CordovaView.Padding = new Thickness(0, 0, 0, -90);
}

就我而言,它有助于解决固定 header 菜单的问题。您可以解决此信息。

请确保您没有使用 Fastclick 库,它会在 Windows Phone 上禁用 <select>。因此,如果您使用该库,请注释掉该用法。