javascript - 如何在 Android WebView 中启用 jQuery 点击事件
问题描述
我见过许多类似的问题,但对我没有帮助,因此提出了这个问题。
我有一个使用 jQuery 的网站。我正在构建一个带有 webview 的 android 应用程序,它可以打开网站。当 webview 打开网站时,我遇到的问题是 webview 无法识别网站的任何点击事件。这是设置 webview 的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setClickable(true);
myWebView.setWebChromeClient(new WebChromeClient());
String localWebsite = "http://10.0.2.2:5000/test.html";
myWebView.loadUrl(localWebsite);
}
以下是我的测试网站上的代码:
如何启用点击事件?
这部分$('.symptomImage').on('click ', function () { $('#symptomsDiv').css("display","none"); });
不行!!
<script>
function test() {
$(document.body).prepend('Hello World'); // This Works
$('#status').text("DidNotClick!!") // This Works
$('.symptomImage').on('click ', function () { // This doesn't work
$('#symptomsDiv').css("display","none");
});
}
test();
</script>
网站的 HTML 代码
<div id="symptomsDiv" class="text-center">
<div class="symptomImage" style="display: inline-block !important">
<img src="images/symptoms/cold.png" class="img-rounded symptomImg center-block" alt="...">
</div>
<div class="symptomImage" style="display: inline-block !important">
<img src="images/symptoms/cough.png" class="img-rounded symptomImg center-block" alt="...">
</div>
<div class="symptomImage" style="display: inline-block !important">
<img src="images/symptoms/fever.png" class="img-rounded symptomImg center-block" alt="...">
</div>
</div>
解决方案
用这段代码替换你在 android 中的 web 视图初始化并尝试。
它为我工作
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
String localWebsite = "http://10.0.2.2:5000/test.html";
webView.loadUrl(url);
webView.requestFocus();
否则,请检查您的网页代码是否正确实施。
对于其他网页网址,我上面的代码工作正常
推荐阅读
- python - 获取python中类的“属性”类属性列表
- xamarin - Xamarin如何获取绑定库的输出
- c - write_unlock/write_unlock_irqrestore/write_unlock_irq/write_unlock_bh 的区别?
- prometheus - 如何标记 Prometheus blackbox_exporter 端点
- json - 在 api put 调用上调用 null 的长度抖动异常
- c++ - clang-format main 包括使用文件夹前缀排序
- django - 对于 PUT 和 DELTE 方法,我的测试用例在 django 中失败
- python - 无法在 python 应用程序上导入 qgis 包?
- bash - 在 grep 在 shell 的 stdout 中找到特定字符串后立即终止程序
- reactjs - React-Redux,无法将值设置为空字符串