散列链接禁用HTML中的相对链接

时间:2016-01-16 14:32:51

标签: javascript html

我正在构建一个基本上是一个单页webapp的webapp,以便链接到应用程序的另一部分,如下所示:

<a href="#internet"></a>

这是可能的,因为我使用的JavaScript包含动画和不同的东西,问题是,不知何故,这种方法禁用链接的可能性如下:

<a href="internet/index.html"></a>

如何在不禁用哈希链接的情况下同时拥有这两个链接?

编辑:说实话,我不知道js的哪一部分导致了这种行为,因为我拿了一个模板,但这里是js:

https://github.com/gomobile/template-list-view/blob/master/www/lib/appframework/appframework.ui.min.js

1 个答案:

答案 0 :(得分:2)

我相信你有这样的代码

$('a').on('click', function(e) {
  e.preventDefault();
});

你需要一个if like

if ($(this).attr('href').indexOf('#') == 0) {
   e.preventDefault();
}

或者更好地将选择器更改为:

$("a[href^=#]").on('click', function(e) {
    e.preventDefault();
    // your animation here.
});

此代码仅适用于以#

开头的href的锚元素

-------更新--------

你添加了一个缩小的js :)。 如果你的代码中没有问题,你可以用这样的黑客修复它:

$('a:not([href^=#])').on('click', function(e) {
    window.location.href = $(this).attr('href');
});

但你真的应该找到问题,而不是像这样修复它:)