【问题标题】:wordpress have to click on link twice to go to external linkwordpress 必须点击链接两次才能转到外部链接
【发布时间】:2015-09-22 11:07:21
【问题描述】:

我正在为单页 wordpress 网站上的菜单编辑以下代码。如果我删除所有这些代码,问题就解决了,但它在离开时提供了很好的滚动效果。我注释掉了event.preventDefault(),这允许外部链接在单击两次时工作,这是不可取的。有什么办法可以让我从这段代码中逃脱外部链接。只有此菜单中的链接受此影响,但链接必须保留在同一菜单中。

// SCROLL TO
$('#main-menu-top a,ul.slicknav_nav li a').click(function(event){
    event.stopPropagation();

    console.log($('#main-menu-top a,ul.slicknav_nav li a'));

    //event.preventDefault();

        if($(this).hasClass('active'))
            return;

        $('#main-menu-top a').removeClass('active').css('border-bottom-color', 'none');
        $(this).addClass('active');

        if(this.hash == "#home")
            $.scrollTo(0,800);
        else
            $.scrollTo( this.hash, 800, {offset:-$(".sticky-wrapper").height()});

        var bgcolor = $(this.hash).find('span.line-title').css('backgroundColor');
        $(this).css('border-bottom-color', bgcolor);

        $('.slicknav_nav').hide('normal', function() {
            $(this).addClass('slicknav_hidden');
        });
        $('a.slicknav_btn').removeClass('slicknav_open').addClass('slicknav_collapsed');

        return false;

});

【问题讨论】:

  • 不确定这段代码,但只想提一下如果你评论最后一行,即返回 false;它阻止点击转到父元素。会不会是这个原因?
  • 这在一定程度上起作用了@Mohsin。但是滚动效果会在到达所需位置之前跳来跳去。
  • 太棒了 :-) 很高兴听到!
  • 我已添加它以回答您可以标记已接受的答案以标记问题已解决。谢谢
  • @Mohsin 感谢您的输入,但再看一遍,滚动效果看起来比我通过删除 return 语句得到的 flash 更好。

标签: javascript jquery wordpress menu escaping


【解决方案1】:

注释最后一行return false;

这可能会阻止点击发生。

在此处添加此答案以供将来参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多