【发布时间】: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