4

我在使用 JellyBean 时遇到问题,因为每当我使用键盘导航时,它都会自动聚焦我的超链接和输入的 html 元素。它创建了一个我无法用 css 隐藏的蓝色高光。

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);  
} 

即使我确实将 z-index:-1 设置为每个 html 元素以禁用焦点,但是当我使用键盘导航时,JellyBean 仍然会自动对焦它们中的每一个。

这是我的html代码:

<html>
<head>
    <title></title>
</head>
<body>
    <a tabIndex="-1" href="http://www.yahoo.com">yahoo</a>
    <a tabIndex="-1" href="http://www.google.com">google</a>
    <a tabIndex="-1" href="http://www.msn.com">msn</a><br/>
    <input type="button" name="" tabIndex="-1" value="yahoo">
    <input type="button" name="" tabIndex="-1" value="google">
    <input type="button" name="" tabIndex="-1" value="msn">
</body>
</html>

这是我的 webview 配置:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:focusable="false" />

</RelativeLayout>

这是我的活动:

package com.example.tony;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;


public class WebActivity extends Activity {
    private WebView mainWebView;
    private WebSettings webSettings;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.web_view);
        mainWebView = (WebView) findViewById(R.id.webView);

        webSettings = mainWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);      
        webSettings.setPluginState(WebSettings.PluginState.ON);      
        mainWebView.setWebChromeClient(new WebChromeClient());
        mainWebView.setScrollBarStyle(WebView.SCROLLBAR_POSITION_DEFAULT);
        mainWebView.loadUrl("http://192.168.2.145/test/nav.html");
    }

    @TargetApi(16)
    public void setURL(){
          webSettings.setAllowUniversalAccessFromFileURLs(true);
    }
}

使用 nexus 7 和其他一些软糖设备进行测试。是否有解决方案可以禁用对 html 元素级别的关注或禁用键盘导航自动对焦?

4

0 回答 0