javascript - 外部链接打不开

标签 javascript jquery html

有人可以帮我解决这个问题吗?我有一个页面,其中有一个菜单,我正在其中对包含“opener”类的链接执行一些 js 操作。

每个链接都效果很好,除了非“开启”链接(又名......外部链接),这些似乎没有任何作用。

你能告诉我我在这里做错了什么吗: http://new.o7thwebdesign.com

如果您单击“测试 1”,页面将按预期转到内部页面。 (请注意,“外部”仅存在于主页上,因此您需要单击“主页”)

如果您点击“外部”,它不会执行任何操作。

最佳答案

在脚本中h.basic.js您有以下代码:

$('#menu li').click(
    function () {
        $(this).siblings().find('ul').slideUp('normal');
        $(this).siblings().find(".menu_arrow").attr('src', '/Images/sidebar_icons/right_arrow.png'); // Slide up all menus except the one clicked
        $(this).has('ul').find('ul').stop(true,true).slideToggle('normal'); // Slide down the clicked sub menu
        $(this).attr('class', 'current');
        var down = $(this).find(".menu_arrow").attr('src') == "/Images/sidebar_icons/right_arrow.png"
        $(this).find(".menu_arrow").attr('src', 
          $(".menu_arrow").attr('src').replace(down ? 'right_' : 'down_', down ? 'down_' : 'right_'));
        return false;
    }
);

return false;防止事件的默认操作(点击链接)。请尝试以下操作:

$('#menu li').click(
    function (e) {
        $(this).siblings().find('ul').slideUp('normal');
        $(this).siblings().find(".menu_arrow").attr('src', '/Images/sidebar_icons/right_arrow.png'); // Slide up all menus except the one clicked
        $(this).has('ul').find('ul').stop(true,true).slideToggle('normal'); // Slide down the clicked sub menu
        $(this).attr('class', 'current');
        var down = $(this).find(".menu_arrow").attr('src') == "/Images/sidebar_icons/right_arrow.png"
        $(this).find(".menu_arrow").attr('src', 
          $(".menu_arrow").attr('src').replace(down ? 'right_' : 'down_', down ? 'down_' : 'right_'));

        return e.target.target == '_blank';
    }
);

更改后的行是:

return e.target.target == '_blank';

这有点令人困惑,但它会查看事件的目标元素(被单击的 anchor ),然后查看它的目标属性,该属性是使用 <a> 的目标属性设置的。标签。如果是_blank然后返回 true,否则返回 false。所以链接到 target="_blank"将保留默认行为,而没有默认行为的链接将抑制它。

关于javascript - 外部链接打不开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997307/

相关文章:

javascript - Jquery中使用数组识别div

javascript - 如何限制 HTML 页面的加载速度?

javascript - 关于制作小部件的想法?

javascript - div 或 html 到图像(替代 html2canvas)

javascript - 拨动开关状态问题

javascript - 这个网站是如何实现响应式布局的

javascript - 是否有任何 JavaScript 方法可以复制 Oracle 的 ADD_MONTH() 功能

JavaScript - 如果选中任何复选框,则选择单选按钮

javascript - 我如何遍历 Array.prototype 函数

javascript - Chrome 扩展中的持久服务 worker