如何解决页面在IE中单击<a href>标记时跳转,jQuery附加到了href上
|| 我有四个链接,其中href \指向通过.load()
加载的页面的URL,问题出在IE中,当您单击它时页面会跳转,我在代码中附加了ѭ1并在IE中的所有浏览器中进行了修复。
我在代码上也有return false
,所以它停止了默认行为。
我已经看到:Page跳到onclick顶部,并尝试实现答案,但是它似乎对我不起作用。
有人知道解决方案吗?
href \的:
<a href=\"welcome.html\" name=\"welcome\">Welcome</a>
<a href=\"about.html\" name=\"about\">About</a>
<a href=\"forum.html\" name=\"forum\">Forum</a>
<a href=\"contact.html\" name=\"contact\">Contact</a>
jQuery代码:
$(\'#jqNav li a\').click(function(e){
if($(this).parent().is(\".nav1\")){ $(\'.landing .main .nav ul\').css({ \"background-position\" : \"0 -50px\" });}
else if($(this).parent().is(\".nav2\")) { $(\'.landing .main .nav ul\').css({ \"background-position\" : \"0 -100px\" });}
else if($(this).parent().is(\".nav3\")) { $(\'.landing .main .nav ul\').css({ \"background-position\" : \"0 -150px\" });}
else if($(this).parent().is(\".nav4\")) { $(\'.landing .main .nav ul\').css({ \"background-position\" : \"0 -200px\" });};
stopAnim = true;
$page = $(this).attr(\'href\');
var $hashTag = $(this).attr(\'name\');
window.location.hash = $hashTag;
loadData();
$(window).scrollTop(0);
e.preventDefault();
});
解决方法
回答我自己的问题;
发生的是从ѭ6生成了generated5ѭ,因此浏览器将页面推送到页面上的我的元素。
我所做的是从定位标记中删除了name元素,并通过jQuery推送了名称。因为我只有4个锚标签,所以这是我的情况下最简单的解决方案,但是如果您引用大量的哈希标签并希望阻止它跳起来,我在Stack Overflow上找到了另一篇很好的答案。
无需页面滚动即可修改document.location.hash
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。