2012-02-27 45 views
1

我正在使用sammy javascript框架。問題是,當我點擊了下面的錨瀏覽器把我的頁面頂部....我怎樣才能防止這種....Ajax呼叫更新使我高於

這裏是HTML錨

<a href="#/duplicate/Chart1">Duplicate</a> 

,這裏是JS薩米聽者

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

你需要做這樣的事情:

$('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'); 

}); 
+0

我試過這個,但它沒有幫助... :( – 2012-02-27 11:44:40

+0

它適用於我,你有沒有嘗試過使用類? – Fabian 2012-02-27 11:50:01

+1

我已經爲你上傳了一個例子:http://www.fabianweb.net/test .php – Fabian 2012-02-27 11:53:11

1

您需要的單擊事件後取消了導航。

因爲#會將您的瀏覽器導航到頁面頂部。

類似:

$('.allDuplicates').click(function(){ 
return false; 
}); 

或用別的比

<a> 

使用例如DIV,你就ok了。