可能重复:
使用jquery停止默认主题标签行为
我在一个链接上有一些jquery代码,它使用.load()将DIV加载到页面中,它还为URL添加了一个hashtag用于分页/书签目的; 我想要做的是在单击链接时停止页面跳转到div.
$('#jqNav li a').click(function(){
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 = "#" + $hashTag;
loadData();
e.preventdefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)
你可以用e.preventDefault()它
http://api.jquery.com/event.preventDefault/
或使用:
return false;
Run Code Online (Sandbox Code Playgroud)
哪个都preventDefault()和stopPropagation()
http://api.jquery.com/event.stopPropagation/
编辑
不要以为你想做什么就可以了.因为在不转到该URL的情况下能够更改页面的URL是不明智的.
例如,您可以将网址更改为银行的网址,让用户认为您的网页代表银行.
也许它只在添加一个哈希值时才有用,所以你可以试试下面的内容(没有测试过,可能很不行):
window.location.hash = $hashTag;
return false;
Run Code Online (Sandbox Code Playgroud)
EDIT2
我知道我刚刚告诉你它不起作用但我只是偶然发现这篇文章在SO上使用HTML5来做你想做的事情:
再次未经测试:)
| 归档时间: |
|
| 查看次数: |
10806 次 |
| 最近记录: |