2010-07-16 106 views
2

我在我的應用程序中使用jQuery UI手風琴, 我有一個問題是: 第二個標籤頁裏面有一個很長的表單。 每次用戶進入第二個選項卡時,頁面會自動向下滾動到表單的底部。即使在我硬編碼並將焦點設置到窗體的第一個文本框之後。如何停止頁面滾動,同時使用jQuery手風琴

有什麼想法?

謝謝大家提前

回答

1

嗯,我試圖在索引更改時提起訴訟,但至少它不適用於我。 這裏是我最後的解決辦法是關掉動畫手風琴UI:

$("#accordion").accordion(
        { 
         autoHeight: false, 
         animated: false, 
         active: parseInt(index), 
         event: "" 
        } 
); 

謝謝您的回答。

0

我不知道如果沒有這個工程的一些代碼,但它根據DOCO一個change event

此事件被觸發每次手風琴變化。如果手風琴是動畫的,則該事件將在動畫完成時觸發;否則,它會立即觸發。

所以有可能使用此事件並在發生擴展後將焦點設置爲有效的目標。

我已經與根據演示/demos/according/default.html測試這一點,它被稱爲後展開:

<script type="text/javascript"> 
$(function() { 
    $("#accordion").accordion({ 
     change: function(event, ui) { 
      alert('blah'); 
      // Add your focus code in here 
     } 
    }); 
}); 
</script> 

我也想在所有的情況下,更何況我已經使用了手風琴展開後頁面不會跳下。

1

頁面滾動效果是激活(自動或手動)手風琴選項的人爲因素。

中的ui.accordion部件(UI版本1.8.24)的_toggle功能下面的代碼,使該focus方法的顯式調用:

toShow.prev() 
    .attr({ 
     "aria-expanded": "true", 
     "aria-selected": "true", 
     tabIndex: 0 
    }) 
    .focus(); 

在jQuery UI的1.9.0版本中刪除大約在2012年10月

此功能

要消除頁面滾動效果,可以刪除.focus()方法調用或升級到更新版本的jQuery UI(推薦)。