【发布时间】:2013-02-25 15:30:39
【问题描述】:
这是我的代码:
var tmp = plugin.main_video_src.split("_")[1]
if(tmp == 2)
{
$('.flex-direction-nav .flex-next').click();
}
这在 PC 浏览器中完美运行,但在 iPad 中无法运行。有什么解决办法吗?
提前谢谢。
【问题讨论】:
这是我的代码:
var tmp = plugin.main_video_src.split("_")[1]
if(tmp == 2)
{
$('.flex-direction-nav .flex-next').click();
}
这在 PC 浏览器中完美运行,但在 iPad 中无法运行。有什么解决办法吗?
提前谢谢。
【问题讨论】:
这可能是因为您试图对不可点击的 html 元素上的事件做出反应。 This tutorial will explain how
使元素可点击
由于 iOS 上的 Safari 创建事件以模拟鼠标的方式,您的某些元素在 iOS 上的行为可能与预期不同。特别是,一些只使用 mousemove 处理程序的菜单(如清单 6-1)需要更改,因为 iOS 不将它们识别为可点击元素。
清单 6-1 使用鼠标悬停处理程序的菜单
<span onmouseover = "..."
onmouseout = "..."
WHERE TO BUY
</span>
要解决此问题,请添加一个虚拟的 onclick 处理程序
onclick = "void(0)",以便 iOS 上的 Safari 将 span 元素识别为可点击元素,如清单 6-2 所示。清单 6-2 添加一个 onclick 处理程序
<span onmouseover = "..."
onmouseout = "..."
onclick = "void(0)">
WHERE TO BUY
</span>
【讨论】:
我使用了“touchstart”事件而不是“click”事件。它非常适合我。 这是示例代码:
$("<selector>").bind("touchstart", function() {
// YOUR CODE ...
});
【讨论】:
iPad 上不存在 OnClick 事件。你需要触摸事件
$('.flex-direction-nav .flex-next').trigger('touchstart');
document.addEventListener('touchstart', function(e) {
//Bind your event here
}, false);
你有以下事件
- 触摸开始
- 触摸移动
- 触摸结束
- 触摸取消
How to recognize touch events using jQuery in Safari for iPad? Is it possible?
【讨论】:
我也有同样的问题。这对我有用。
$('.flex-direction-nav .flex-next').off('click').on('click');
【讨论】: