Javascript 如何在单击锚定时阻止html页面跳转,但仍然转到href中的url?

Javascript 如何在单击锚定时阻止html页面跳转,但仍然转到href中的url?,javascript,Javascript,我知道这个问题似乎与之前的许多问题类似,但主要区别在于我仍然希望转到锚的href中的url,并将它们指向另一个页面 这是我的密码: 天气 单击锚定后,它会跳到页面顶部,然后用户被重定向到href 我已经尝试将此添加到JS中来解决它,但没有效果 this.el.addEventListener('click', (e) => { e.preventDefault(); window.location = this.el.getAttribute('href'); }, fal

我知道这个问题似乎与之前的许多问题类似,但主要区别在于我仍然希望转到锚的
href
中的url,并将它们指向另一个页面

这是我的密码:
天气

单击锚定后,它会跳到页面顶部,然后用户被重定向到
href

我已经尝试将此添加到JS中来解决它,但没有效果

this.el.addEventListener('click', (e) => {
    e.preventDefault();
    window.location = this.el.getAttribute('href');
}, false);

任何帮助都将不胜感激。

您不需要javascript,只需尝试将http协议添加到url的前面即可。例如:
解释了原因。如果不指定协议,链接将与当前请求URI相对,它不应跳转。但是,在您的情况下,如果跳转,请使用dud href,然后单击事件:

<a class="tile" href="javascript:void(0)"  onclick='redirect(event)'>weather<a/>

您需要
(您正在将浏览器发送到类似
http://yoursite.com/www.weather.com
)@ChrisG将来,有时候最好不要删除JavaScript问题上的jQuery标记,即使问题没有明确提到它;对于OP来说,这是另一种表示他们愿意接受使用jQuery的答案的方式。@TylerRoper-True;在提交编辑之前,我曾短暂地考虑过重新添加它,但最终没有。这似乎与这个问题不太相关。
href=https://www.weather.com
您是否缺少
周围的
“”
https://www.weather.com
?它应该是
href=”https://www.weather.com“
。除此之外,我无法在任何地方重现这一切;单击
到外部站点不会在页面上跳转;它只是按预期导航。首先,使用自动关闭的锚标记是无效的。锚文本在哪里?这不是正常的行为,这让我觉得信息中缺少了一些东西。标签在页面中的位置的上下文将非常有用。谢谢!然而,我有一个打字错误。我在
href
中有协议。我可以在我提供的代码中找到我的链接,但它仍然会跳转。我相信这个问题与焦点有关。@tim我刚刚编辑了我的帖子。主要部分丢失了,我想我的锚标签代码并没有反映在帖子中。刚刚编辑。试试看
 function redirect(e){
    e.preventDefault();
    window.location.href = "https://www.weather.com"; // notice href
 }