【问题标题】:Cordova/Touch onclick events issuesCordova/Touch onclick 事件问题
【发布时间】:2016-08-29 10:05:32
【问题描述】:

我通常在我的 HTML 页面中的按钮上使用很多 onclick 事件,遵循以下模式:

<button onclick="myFunction(this)"></button>

有些工作,有些不工作,我无法解释原因。

这些工作:

<div>
    <button class="static" onclick="myFunction('add');" style="">zzzzzzzzzzz</button>
    <button class="static" onclick="myFunction('res');" style="">zzzzzzzzzzz</button>
    <button class="static" onclick="myFunction('set');" style="">zzzzzzzzzzz</button>
</div>

这些不是:

<center>
    <button onclick="newEdit(this)" class="pop_opt" style="height: 35px;">Edit</button>
    <hr/>
    <button onclick="newConfirm(this);" class="pop_opt" style="height: 35px;">Delete</button>
    <hr/>
    <button onclick="defaultPopup(this, '')" class="pop_opt" style="height: 35px;">Cancel</button>
</center>

我看到的唯一区别是:

  1. 第一个按钮是第一个可点击的元素(它们只是区域上的可点击元素)。
  2. 其他按钮是另一个可点击元素之上的可点击元素(通常如果点击按钮,它应该拒绝父点击事件)。

请注意,它在桌面浏览器中完美运行,但仅在我们在应用程序中使用时才匹配问题(我仅使用 Cordova 进行了测试)

【问题讨论】:

  • 你必须在设备就绪函数中绑定这些事件
  • 但为什么有些工作而有些则不行?
  • @kishore.k.vaishnav :我尝试使用 jQuery(本机)单击事件,但它们在那些指定的按钮上也不起作用(第二组,仍在浏览器中工作)。它与科尔多瓦有什么关系吗?当你建议我使用 jQuery Mobile 时,为什么它会更有效?
  • @HassanALi:为什么要使用设备就绪?我稍后将 JS 脚本放在 HTML 文件中(按此顺序:cordova.js jquery.min.js share.min.js)

标签: javascript android jquery cordova


【解决方案1】:

最后我可以通过简单地将 HTML 事件 onclick 更改为 onmousedown & ontouchend 来解决这个问题

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    相关资源
    最近更新 更多