【问题标题】:How to bind a click event in iOS?如何在 iOS 中绑定点击事件?
【发布时间】:2017-03-22 07:56:26
【问题描述】:

我“只是”试图将点击事件绑定到 <button> 并使其适用于桌面(chrome、FF、...)、android 和 iOS。

我尝试了很多诸如thiscursor: pointer之类的东西,这似乎是最简单和最有效的,但没有奏效。

我还在 HTML 元素上尝试了 onclick=''onclick='void(0)',这是我见过的技巧,我什至不记得在哪里...

我尝试使用外部库(例如 FastClick)在单击后删除到 300 毫秒等待...不起作用

再也没有机会使用Pointer Events Polyfill 并绑定pointerup ...

我的想法已经用完了......

我的 HTML:

<div class="col-md-12">
    <button type="button" onclick='' id="begin" class="btn andro btn-danger btnlg">
        <img src="img/icon.png" height="50px"> GO
        <img src="img/icon.png" height="50px">
    </button>
</div>

我的 JS:

  $(document).on('touchstart', '#begin', function() {
      // do things
  });

我当然尝试绑定touchstart(甚至touchend!)而不是click,但仍然无法在iphone上运行......

问题是:我没有 iphone 来测试我的东西,所以我必须相信一些拥有 iOS 设备的朋友……我必须更改我的代码……还是更改我的朋友? ^^

【问题讨论】:

  • I don't have an iphone to test my stuff 如果你使用 Safari,开发控制台中有一个选项可以让它模拟 iPhone
  • 您是否尝试过从按钮元素中删除 onclick 属性?我的猜测是因为它只是一个空字符串 iPhone 上的 Safari 会忽略按钮上的任何事件
  • @RoryMcCrossan:我应该尝试一下,感谢您提供的信息:) .. 它模拟真正的 iOS 设备吗? ... @PatrickHund:我不得不承认,我认为我没有尝试在没有 onclick='' 的情况下绑定 touchstart,但如果我使用 touchstart,它将不会在桌面上触发,否则我将不得不为用户嗅探像这里的代理:stackoverflow.com/a/34493059/3636091 或者你知道一些解决方法?

标签: javascript jquery ios click


【解决方案1】:

Soooo....经过大量搜索和尝试,例如删除一个一个库并注释部分代码...

我能够找到点击的问题...这是因为我的绑定被封装在一个 :

$( document ).ready(function() {
    // My bindings here
});

而且好像 iOS 不喜欢这个...

只需将您的点击绑定到就绪功能之外,它就可以工作......希望它可以帮助某人!

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 2014-07-04
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多