如何在android较低版本的设备上用javascript和html实现onclick?

2024-03-10

我正在开发一个在更高版本的设备中完美运行的项目 - 我已经在 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 中偶尔会起作用。当继续尝试单击时,该函数会突然被调用。我已经尝试修复这个错误近两天了。

我在 CSS 位置上也遇到过类似的问题:固定。较低版本的 android 不支持此功能。有人向我建议了一个解决方案here https://stackoverflow.com/questions/16957930/how-to-fix-this-sticky-footer-for-android-devices-in-phone-gap.

我试过这个添加事件监听器函数 https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener它对我不起作用。

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

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

编辑:1 触摸事件和设备就绪

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测试项目并编译APKhere http://ge.tt/91DFaCj/v/0并在您的设备上尝试。

根据您的 JSFiddle 代码更新:

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

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

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

2) 属性值应该加引号。代替<img name="slide" src="img/abc.jpg" width=100%; /> with <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>

with

<div id="footer"  class="footer">
    <div id="footer_text" style="color:#ffffff">footer</div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android较低版本的设备上用javascript和html实现onclick? 的相关文章

  • 带有可点击区域的 Android 图像

    我需要建议如何在 Android 下实现以下功能 我需要一个表示类似于图形 来自离散数学 的图像 具有顶点和边缘 我可以在其中单击每个顶点或边缘并触发不同的操作 请告诉我如何实现这一目标 也许与imagebuttons 或另一种表示此功能的
  • 在各种分辨率下通过百分比宽度将根 div 居中

    我需要通过基于百分比的宽度而不是基于像素的宽度将根 div 居中 container width 80 margin 0px auto 它将容器相对于页面居中 并在 1366 706 分辨率下正常工作 但在 1280 1024 下不起作用
  • Android Studio 3.0 - 设置未保存

    我已将 文件 gt 设置 gt 编辑器 gt 代码样式 中的 右边距 列 从默认的 100 增加到 140 不幸的是 每次重新启动 Android Studio 后 该边距都会重置 我还尝试导出和导入我的设置 但这并不能阻止重置右边距 希望
  • 改变换行行为

    我可以在 TextView 中使用 Spannable 创建具有不同外观 下划线 删除线等的跨度 我怎样才能做同样的事情来改变换行行为 特别是 我不希望电子邮件地址在中间换行 我希望它像一个单词一样 I tried 包裹在一起跨度 http
  • Javascript 警报/消息框中的欧元符号或其他实体

    有谁知道我如何在 javascript 警报窗口中显示欧元或其他 html 实体 alert u20AC HTML 实体字符查找 http leftlogic com lounge articles entity lookup
  • Android:如何停止监听电话监听器? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 为什么 PhoneCallListener 在活动完成后仍然存在 https stackoverflow com questions 11666853 android why phon
  • 重构 google 的 NetworkBoundResource 类以使用 RxJava 而不是 LiveData

    谷歌的android架构组件教程here https developer android com topic libraries architecture guide html有一部分解释了如何抽象通过网络获取数据的逻辑 在其中 他们使用
  • 为什么行框之间有空格,而不是由于半行距?

    在下面的代码示例中 您将看到垂直流动的之间有空白spans是 每个之间有空白line box 我想首先声明这与之间的差距无关inline block框 甚至是结果半领先 https www w3 org TR CSS21 visudet h
  • 原型链、构造函数、继承

    我正在玩 javascript 原型 我是新手 所以我有一个小问题 我正在用这个article http mckoss com jscript object htm作为指导 我已经定义了产品和书籍 目的是什么Book prototype c
  • 以编程方式安装 Android apk 作为测试框架的一部分

    我正在尝试以编程方式安装 apk 但运气不佳 我正在设置一个针对物理设备的自动化测试框架 并且我希望测试设备在运行测试之前从构建服务器检索最新的 apk 虽然我知道没有通用的方法可以在未经用户同意的情况下实际安装 apk 但我很好奇在开发人
  • 更改哈希值而不触发 hashchange 事件

    我使用哈希来动态加载内容 为了使后退按钮正常工作 我正在捕获哈希更改 然而 有时我需要更改哈希值而不触发哈希更改函数 例如 当页面重定向到服务器端时 我需要在内容返回后更新哈希值 我想出的最佳解决方案是取消绑定 hashchange 事件
  • 如何创建克隆重复视图?

    在我的 Android 应用程序中 我想创建重复的ImageButton已经创建的Imagebutton 我想创造新的Imagebutton以编程方式与 XML 文件中已创建的按钮具有相同的宽度 高度 背景 图像源 边距等 简而言之 我想创
  • jQuery 倒计时插件 - 只显示非零周期

    我正在使用 jQuery 倒计时插件编写倒计时 我只希望它显示活动 非零 周期 例如代替 剩余时间 0 天 0 小时 13 分 20 秒 它应该只显示 13 分 20 秒 我的代码是 countdown countdown expiryUr
  • 如何使用Android Invalidate()

    在我的主要活动中 我定义了两个视图和一个菜单 浏览次数 1 自定义视图游戏 2 按钮btn 菜单 1 打开项目用于打开文件 菜单布局在不同的活动中定义 基本上 当主活动启动时 它会绘制没有任何内容的自定义视图和按钮 然后我使用菜单中的 打开
  • 仅使用 javascript 获取网站的正文元素

    我想检索以下网站的正文内容http sports espn go com nhl bottomline scores nhl s left1 http sports espn go com nhl bottomline scores nhl
  • 如何在 Android 上设置 Google Drive API?

    我一直在尝试将 Google Drive 功能集成到我的应用程序中 但我无法使用任何内置功能 因此我相信我要么错过了一个步骤 要么做得不正确 我正在遵循官方的 Google 开发者指南 https developers google com
  • 将数组数组的字符串转换为 Javascript 数组数组的优雅方法?

    我有一个 ajax 请求 它返回一个值列表 如下所示 5 5 5 6 15 15 7 13 12 我需要它是一个带有数字的 javascript 数组 5 5 5 6 15 15 7 13 12 我尝试将 和 替换为 然后用 分割和 for
  • 使用 JQueryUI Autocomplete 和 Meteor 的规范方法

    使用 Meteor 我想了解使用 JQuery UI 自动完成处理大量服务器端数据的最有效方法 我有两个工作提案 想听听关于差异的意见 以及是否有更好的方法来做同样的事情 使用发布 订阅 Server Meteor publish auto
  • 智能手机可以通过 3G/4G 进行点对点通信吗?

    我正在尝试编写一个应用程序 将数据从一个 Android 设备传输到另一个 Android 设备 但这些设备很可能位于城市 州或国家的不同部分 直接的方法是拥有一台中央服务器 或任何类型的服务器 但我试图避免使用中央服务器 我试图传递的数据
  • 如何在不显示父活动的情况下将一个全屏对话框片段替换为另一个全屏对话框片段?

    我有一个使用单个自定义 DialogFragment 类的活动 它的外观是数据驱动的 因此不同的调用看起来可能相当不同 它是 全屏 即 setStyle DialogFragment STYLE NO FRAME android R sty

随机推荐

  • C++ 获取 Process.GetCurrentProcess().SessionId

    在c 中 我们可以在Windows中使用此方法获取当前用户进程IDProcess GetCurrentProcess SessionId 我们如何在 C 中做到这一点 Call 获取当前进程ID https msdn microsoft c
  • 如何在上传前检查 iOS 应用程序大小 [重复]

    这个问题在这里已经有答案了 我希望能够在提交到应用程序商店之前检查我的应用程序的大小 更具体地说 我需要知道它是否会低于神奇的 20 MB 以允许蜂窝下载 因为该应用程序是为节日而创建的 这个问题很老了 但在我看来仍然相关 以下是我上传应用
  • 使用 PHP 检查 IPv4/IPv6 地址是否已启动

    我有一个 IPv4 地址 前任 172 19 20 21 我曾经这样做过 fs fsockopen ip port errno errstr 3 if fs error SSC is down return Redirect to gt w
  • ListGetAt 解析 CSV 文件时出现问题

    我有一个脚本 它从客户端读取 CSV 文件 并将这些值拆分为稍后将输入数据库的变量 这是当 CSV 中的列数少于所需的最小值时出现的错误 In function ListGetAt list index delimiters the val
  • 在python中手动绘制树状图

    我已经实现了一种算法来解决图中的聚类问题 我使用 python 库 python graph 来表示该图 现在 在计算的每一步 算法是迭代的 我必须绘制树状图的一部分 事实上 该算法是分裂的 从原始图开始计算簇的意义上来说 现在 我不知道用
  • “gprof”在特定代码行上花费的时间

    我一直在使用gprof分析器结合g 我的代码中有一个函数 它封装了与主要函数足够相关的几个行为部分 因此将它们分成自己的函数是没有意义的 我想知道在每个代码区域花费了多少时间 所以 如果你想象代码看起来像 function A A A B
  • C: IFS System() 漏洞

    出于教育原因 我必须利用 C 代码 该程序首先设置了egid 然后设置了漏洞system usr bin 命令 所以我在我的主目录中创建了一个 usr 可执行文件 并将路径设置为主目录PATH HOME PATH 我想将 bash 中的 I
  • 如何从字符串末尾获取数字

    我对 Ruby 还是个新手 有点卡住了 我需要从字符串末尾获取一个数字 假设我有字符串 potato85 我需要 85 数字中的位数可以有所不同 例如 potato8 potato8585 有什么方法可以分割字符串并获取第一部分和数字吗 使
  • JSON 概念与 JavaScript 和 PHP

    我需要有人来阐明这个问题 当一个人进行 AJAX 调用时 会调用一个 php 脚本 该脚本会回显 json encode 内容 以便 javascript 可以对其进行处理 注意 假设我们在 php 脚本中将 header 设置为 json
  • pudb调试器可以在windows上使用吗?

    我们有可能pudb http pypi python org pypi pudbWindows 上的 python 调试器 如果是 您如何安装并运行它 当我尝试使用安装它时ez setup http peak telecommunity c
  • ruby 如何处理 + 运算符?

    Ruby 不支持递增变量 例如variable 我看到这种行为 2 4 gives 6 事实上 任意数量的 两个变量之间的符号被视为一个单一的 ruby 是如何做到这一点的呢 既然 ruby 这样做了 是否可以将其视为不可用的原因 操作员
  • 同一个父辈下的2个看似独立的观点该如何互动

    请考虑以下场景
  • SQLite 错误:“无法将文本值转换为数值。”

    我找到了解决方法 但我对 Adob e Air 和 SQLite 遇到的问题完全感到困惑 一个UPDATE我认为在开发过程早期工作正常的查询突然开始失败并出现错误details could not convert text value to
  • Xamarin xml android:onClick 回调方法

    这是我的 XML 代码
  • 使路径在 Linux 和 Windows 上都有效

    我怎样才能确保这条路径 new Zend Log Writer Stream APPLICATION PATH logs app log 在linux和windows上都可以工作吗 在Linux中 路径分隔符是 在 Windows 中 可以
  • 通过 cmake 重用静态库的自定义 makefile

    我想这将是一个关于在 cmake 中包含具有现有 makefile 的库的通用问题 但这是我的背景 我正在尝试包括scintilla在另一个CMake项目中 我遇到以下问题 在 Linux 上 scintilla 有一个 makefile
  • C# RestSharp PUT 方法并发送原始字节 (protobuf)

    如何使用 HTTP PUT 方法发送字节数组 方法AddFile班级的RestRequest发送额外的标头 方法AddParameter需要一个Object type 我是怎么做的 byte data using var ms new Me
  • “运行方式 -> Android 应用程序”不再是我的 Eclipse 运行配置中的选项

    我在 Win7 机器上运行 Eclipse 3 7 2 我有 Android SDK 和 AVD 一切都运转良好 我有一个 Android 应用程序项目 已在 AVD 和真实 Android 设备上的模拟器下运行 亚行也运作良好 在某个时候
  • Jetpack 编写代码以在单击文本时向下滚动到特定 UI 元素的位置

    我试图在单击文本时向下滚动到特定 UI 元素的位置 我的文本的代码是 Text What is autosaving color colorResource id R color text highlight fontSize with L
  • 如何在android较低版本的设备上用javascript和html实现onclick?

    我正在开发一个在更高版本的设备中完美运行的项目 我已经在 4 1 2 版本中检查过它 问题是它不适用于 Android 版本 2 2 1 和 2 3 5 的设备 我有六张图像 我添加了功能 2 个图像的功能是使用 id 值调用不同的 HTM