This answer是解决我的网站导航的完美解决方案:因此iPad用户无需点击链接。
$('a').on('click touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;
});
现在我该如何处理FancyBox链接?我可以传递给他们另一个课程或任何需要的东西来获得正确的结果。 Window.location不是解决方案(有iframes的fancyBox)。
我创建了两个小提琴,以证明问题也出现在没有iframe的情况下。
first one打开了fancybox,但the second one仅适用于我的台式电脑,而不适用于iPad。
此外,一些fancybox链接直接在页面导航中具有:悬停效果。在这里,用户不必单击两次,Fancy-iframe应该打开。
有谁能告诉我如何解决这个问题。 非常感谢所有的帮助。
答案 0 :(得分:1)
您只能在fancybox选择器上触发click
事件,而不是window.location
。
所以你可以在第二个jsfiddle调整代码:
$(document).ready(function () {
$('.fancybox').fancybox();
$('a').on('click touchend', function (e) {
var fancy = this.className.indexOf('fancybox') != -1;
if (fancy) {
$(this.className).trigger("click")
} else {
// var el = $(this);
// var link = el.attr('href'); // simply use this.href
window.location = this.href;
return false;
}
});
});
查看更新的 JSFIDDLE
注意:如果您有图库,则可能会遇到同样的问题:在这种情况下,您可能需要触发$.fancybox.next()
和$.fancybox.prev()
方法对于iPad或使用助手按钮。