如何确定一个HTML元素何时在Android WebView中获得焦点
How to determine when an HTML element gains focus in Android WebView?
我试图确定当一个html页面中的文本字段从Android WebView集中。一些注意事项:我不是网页的所有者,所以我不能直接在网页上添加任何内容。
我已经试过了:
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void displayScanButton() {
WebViewActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("SCAN", "DISPLAY SCAN BUTTON");
toolbar.setVisibility(View.VISIBLE);
}
});
}
@JavascriptInterface
public void hideScanButton() {
WebViewActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("SCAN", "HIDE SCAN BUTTON");
toolbar.setVisibility(View.GONE);
}
});
}
}, "Android");
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:document.getElementById('tNewLabels').onfocus = Android.displayScanButton; document.getElementById('tNewLabels').onfocusout = Android.hideScanButton;");
}
我也有一些变化,但这是我目前的。它没有为输入字段设置onfocus。
基本上我想要的是当用户单击输入字段键入文本时,我显示我附加到键盘上的工具栏,仅用于此特定元素。当用户不再关注输入字段时,隐藏工具栏。我认为会有一种方法,因为WebView知道什么时候打开键盘,什么时候关闭键盘。可能有办法拦截吗?
谢谢你的帮助
试试这个:
document.getElementById('tNewLabels').onfocus = function() { Android.displayScanButton(); };
document.getElementById('tNewLabels').onfocusout = function() { Android.hideScanButton(); };
要使Android-Java桥工作,你的函数必须将接口对象作为"this"变量。将函数直接分配给事件,将其从接口对象的附件中剥离出来。我听说它曾经在旧版本的WebView中工作,但它不再工作了。
很抱歉我又提了一个老问题,你可能已经知道了。
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 如何检测WebView Android中的按钮点击
- JavaScript in WebView - Android Studio
- 如何在webview android中强制打开电子邮件验证
- shouldoverrideurlloading not called Webview Android
- WebView Android 和 JavaScript 调整大小
- css 背景图像未在 webview android 中加载
- 在 WebView Android 中扫描条形码
- 通过JavaScript或其他内容在WebView Android的输入框中填充一些文本
- 在 WebView android 中自动填写字段
- 如何在webview android SDK中调用谷歌搜索按钮
- jqmath在webView android中左对齐
- JavaScriptInterface类从未被调用来在webview android上加载html
- 在禁用javascript的webview android中执行javascript
- webview android最大限度地减少Java脚本加载时间
- 从webview Android调用javascript函数
- 在WebView Android中注入JavaScript
- 如何模拟键盘事件与javascript(或不是javascript)在webview (android)键入文本区
- 家长在webview Android中不工作
- WEBVIEW-Android无法在chrome浏览器中实现类似css的功能