我正在使用sammy javascript框架。问题是当我点击下面的锚点浏览器时把我带到页面顶部....我怎样才能防止这种情况....
这是html锚点
<a href="#/duplicate/Chart1">Duplicate</a>
这里是JS sammy listner
this.get('#/duplicate/:id', function(context) {
chartName=this.params['id'];
for(i=0;i<chartJSONS.length;i++){
if(chartJSONS[i].chart.renderTo==chartName){
var obj = jQuery.extend(true, {}, chartJSONS[i]);
var dupChart=obj.chart.renderTo+"_duplicate";
obj.chart.renderTo=dupChart;
chartJSONS[chartJSONS.length++]=obj;
}
}
$('#chart').html('');
createCharts();
return false;
});
非常感谢任何帮助...
答案 0 :(得分:1)
您需要在点击事件后取消导航。
因为#会将您的浏览器导航到页面顶部。
类似的东西:
$('.allDuplicates').click(function(){
return false;
});
或使用
之外的其他内容<a>
使用例如div,你没事。
答案 1 :(得分:0)
你需要做这样的事情:
$('a').click(function(e){
e.preventDefault();
window.location.hash = $(this).attr('href');
});
我建议你为你想要处理的每个元素添加一个类:
<a href="#/duplicate/Chart1" class="myclass">Duplicate</a>
$('.myclass').click(function(e){
e.preventDefault();
window.location.hash = $(this).attr('href');
});