-1

这个答案是围绕我的网站导航的:悬停的完美解决方案,因此 iPad 用户不必双击链接。

$('a').on('click touchend', function(e) {
   var el = $(this);
    var link = el.attr('href');
    window.location = link;
});

现在我该如何处理 FancyBox 链接?我可以通过他们另一堂课或任何需要的东西来获得正确的结果。Window.location 没有解决方案(有带有 iframe 的 fancyBoxes)。

我创建了两个小提琴来证明问题也出现在没有 iframe 的情况下。

一个打开了fancybox,但第二个只能在我的台式电脑上运行,而不是在iPad上。

此外,一些花式框链接直接在具有 :hover 效果的页面导航中。在这里,用户不必单击两次,Fancy-Iframe 就会打开。

谁能告诉我如何解决这个问题。非常感谢所有的帮助。

4

1 回答 1

1

您可以click在 fancybox 选择器上触发一个事件,而不是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

注意:如果你有一个画廊,你可能会遇到同样的问题,悬停在幻想框导航箭头上,在这种情况下,你可能必须触发 iPad 的$.fancybox.next()and$.fancybox.prev()方法或使用帮助按钮。

于 2013-09-09T17:08:17.630 回答