gpt4 book ai didi

jquery - # HREF 中的(散列)字符会阻止 PreventDefault 工作

转载 作者:行者123 更新时间:2023-12-01 08:09:59 25 4
gpt4 key购买 nike

我之前发布了一个问题,当在链接 ( original question here ) 中指定 HREF 时,我的 jQuery 无法工作。

最常见的建议答案是使用 PreventDefault,但由于某种原因,如果 HREF 中有哈希/ anchor ,则此方法不起作用;例如,如果 URL 是“http://www.google.com ”,它会阻止默认行为并按预期运行 jQuery,但如果是“http://www.google.co.uk#whatever ”,它会忽略 PreventDefault 并跟踪链接。

我正在使用的链接有一个目标(实际上,只是同一页面内的目标)。对于这种奇怪的行为有解决方法吗?

HTML

<li><a id="OfficeNav-Bath" class="first" href="#bath" >Bath</a></li>

Jquery

<script> <!--Offices jquery -->
$(function() {$("#OfficeNav-Bath").click(function(e){e.preventDefault(); $('.office').removeClass('visible');});});
</script>

最佳答案

如果没有关于您正在使用的 jquery 的确切版本的任何信息,在 href 中包含 # 似乎使用 jQuery 1.8.2 没有问题。

在 href 中使用 jsFiddle # 没有任何影响,并且 event.PreventDefault() 按预期工作。

DEMO - href

中的 event.PreventDefault()#

上面的演示代码如下,以防链接旋转。

HTML:

<a id="OfficeNav-Bath" class="first" href="http://www.google.com#whatever" >click me</a>

脚本:

$("#OfficeNav-Bath").on("click", function(event){
event.preventDefault();
alert("Prevent Default Works");
})

关于jquery - # HREF 中的(散列)字符会阻止 PreventDefault 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com