我在我的應用程序中使用jQuery UI手風琴, 我有一個問題是: 第二個標籤頁裏面有一個很長的表單。 每次用戶進入第二個選項卡時,頁面會自動向下滾動到表單的底部。即使在我硬編碼並將焦點設置到窗體的第一個文本框之後。如何停止頁面滾動,同時使用jQuery手風琴
有什麼想法?
謝謝大家提前
我在我的應用程序中使用jQuery UI手風琴, 我有一個問題是: 第二個標籤頁裏面有一個很長的表單。 每次用戶進入第二個選項卡時,頁面會自動向下滾動到表單的底部。即使在我硬編碼並將焦點設置到窗體的第一個文本框之後。如何停止頁面滾動,同時使用jQuery手風琴
有什麼想法?
謝謝大家提前
嗯,我試圖在索引更改時提起訴訟,但至少它不適用於我。 這裏是我最後的解決辦法是關掉動畫手風琴UI:
$("#accordion").accordion(
{
autoHeight: false,
animated: false,
active: parseInt(index),
event: ""
}
);
謝謝您的回答。
我不知道如果沒有這個工程的一些代碼,但它根據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>
我也想在所有的情況下,更何況我已經使用了手風琴展開後頁面不會跳下。
頁面滾動效果是激活(自動或手動)手風琴選項的人爲因素。
中的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(推薦)。