如何在使用jQuery Accordion时停止向下滚动页面
我在应用程序中使用jQuery UI Accordion, 我的一个问题是: 在第二个选项卡中,有一个很长的表单。 每当用户进入第二个选项卡时,页面会自动向下滚动到表单底部。即使在我硬编码并将焦点设置到表单的第一个文本框之后 有什么想法吗如何在使用jQuery Accordion时停止向下滚动页面,jquery,jquery-ui,Jquery,Jquery Ui,我在应用程序中使用jQuery UI Accordion, 我的一个问题是: 在第二个选项卡中,有一个很长的表单。 每当用户进入第二个选项卡时,页面会自动向下滚动到表单底部。即使在我硬编码并将焦点设置到表单的第一个文本框之后 有什么想法吗 提前谢谢大家如果没有一些代码,我不确定这是否有效,但根据文档,有一个: 每次手风琴更改时都会触发此事件。如果手风琴已设置动画,则动画完成后将触发事件;否则,它会立即触发 因此,一旦展开,是否可以使用此事件并将焦点设置为有效目标 我已经用相应的demo/demo
提前谢谢大家如果没有一些代码,我不确定这是否有效,但根据文档,有一个: 每次手风琴更改时都会触发此事件。如果手风琴已设置动画,则动画完成后将触发事件;否则,它会立即触发 因此,一旦展开,是否可以使用此事件并将焦点设置为有效目标 我已经用相应的demo/demos/approve/default.html测试了这一点,它在展开后被调用:
<script type="text/javascript">
$(function() {
$("#accordion").accordion({
change: function(event, ui) {
alert('blah');
// Add your focus code in here
}
});
});
</script>
$(函数(){
$(“手风琴”)。手风琴({
更改:功能(事件、用户界面){
警惕(“废话”);
//在此处添加焦点代码
}
});
});
我还想指出的是,在所有情况下,我都使用了手风琴,页面在展开后不会跳下。我尝试在索引更改时使用focus,但是,至少,它对我不起作用。 以下是我的最终解决方案,即关闭手风琴UI中的动画:
$("#accordion").accordion(
{
autoHeight: false,
animated: false,
active: parseInt(index),
event: ""
}
);
感谢您的回答。页面滚动效果是激活(自动或手动)手风琴选项的产物
ui.accordion
小部件(ui版本1.8.24
)的\u toggle
功能中的以下代码明确调用了focus
方法:
toShow.prev()
.attr({
"aria-expanded": "true",
"aria-selected": "true",
tabIndex: 0
})
.focus();
大约在2012年10月,jQuery UI版本1.9.0
中删除了此功能
要消除页面向下滚动的效果,请删除.focus()
方法调用或升级到较新版本的jQuery UI(推荐)