iPad / iPhone悬停导致用户双击链接解决。但是如何处理fancybox链接

时间:2013-09-09 10:27:14

标签: jquery ipad iframe fancybox fancybox-2

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应该打开。

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

1 个答案:

答案 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或使用助手按钮。