我在我的应用程序中使用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(推荐)。