gpt4 book ai didi

javascript - 如何为低版本android设备在javascript和html中实现onclick?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:05 25 4
gpt4 key购买 nike

我正在做一个在更高版本的设备上完美运行的项目——我已经在 4.1.2 版本中检查过了。

问题是它不能在 android 版本 2.2.1 和 2.3.5 的设备上工作。

我有六张图像,我已经添加了功能。 2 个图像的功能是使用 id 值调用不同的 HTML 页面。其他四张图片的功能也是一样的,只是图片会根据数据库的值显示。

2 个图像的功能是调用具有 id 值的不同 HTML 页面。

这就是我的编码方式..

<div id="header " class="header ">
<div id="header_title" class="header_title"> </div>
<div id="abc" class="abc"><img src="img/abc.png" onClick="abc()"/></div>
-----so -on

我已将 abc 函数声明为

function abc(){
window.location.href="index.html";
}

其他四张图片的功能也是一样的,只是图片会根据数据库的值显示。

if(value_in_db==0) {
document.getElementById("xyz").innerHTML = '<img src="img/inactive.png" />'
} else {
document.getElementById("xyz").innerHTML = '<img src="img/active.png" onclick="xyz()"/> '
}

我已将 xyz 函数声明为

function xyz(){
window.location.href="basic.html";
}

面临的问题:

onclick 功能在 android 版本 2.2.1 和 2.3.5 中偶尔起作用。当继续尝试突然单击时,该函数被调用。我已尝试修复此错误近 2 天。

我曾遇到过与 CSS position:fixed 类似的问题。这在较低版本的 android 中不受支持。有人建议我使用解决方案 here .

我试过这个addEventListener function它对我不起作用。

我希望我能找到解决这个问题的方法。

请帮我解决这个问题并指导我!

编辑:1 touchevent 和 deviceready

document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener( "touchstart", function(e){ onStart(e); }, false );
function onStart ( touchEvent )
{
if( navigator.userAgent.match(/Android/i) )
{
touchEvent.preventDefault();
}
}

这适用于高端版本,但不适用于低端版本。我知道提及 2 document.addEventListener 毫无根据..因为它在更高版本中工作。我继续它。

最佳答案

这是非常基本的功能,应该适用于所有版本的 Android - 您确定不是您代码中的其他内容导致了问题吗?

我在运行 Android 2.3.4 的 HTC HD2 上使用最新的 Cordova 2.8.0 尝试了这个测试用例,它一直运行良好:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript">
function abc(){
window.location.href="foo.html";
}
</script>
</head>
<body>
<h1>Index page</h1>
<div id="abc" class="abc"><img src="img/abc.jpg" onClick="abc()"/></div>
</body>
</html>

可以下载我的Eclipse测试工程和编译好的APK here并在您的设备上试用。

根据您的 JSFiddle 代码更新:

您的 HTML 包含多个语法错误 - 其中之一可能导致 Android 2.x 出现问题,而 4.x 可能更容错:

1) #header id 属性包含尾随空格。替换

<div id="header " class="header "><div id="header" class="header">

2) 属性值应该被引用。替换 <img name="slide" src="img/abc.jpg" width=100%; /><img name="slide" src="img/abc.jpg" width="100%" />

3) 你有一个额外的关闭 div 标签。替换

<div id="footer"  class="footer">
<div id="footer_text" style="color:#ffffff">footer</div>
</div>
</div>

<div id="footer"  class="footer">
<div id="footer_text" style="color:#ffffff">footer</div>
</div>

关于javascript - 如何为低版本android设备在javascript和html中实现onclick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17059097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com