我在我的应用程序中使用jQuery UI Accordion,我遇到的一个问题是:在第二个选项卡中,有一个非常长的表单。每次当用户来到第二个选项卡时,页面会自动向下滚动到表单的底部。即使在我硬编码并将焦点设置到窗体的第一个文本框之后。
有什么想法吗?
提前感谢所有人
发布于 2010-09-07 08:52:24
我试着在索引改变的时候起诉焦点,但是,至少对我不起作用。这是我的最终解决方案,关闭折叠UI中的动画:
$("#accordion").accordion(
{
autoHeight: false,
animated: false,
active: parseInt(index),
event: ""
}
);谢谢你的回答。
发布于 2017-01-24 07:11:33
页面滚动效果是激活(自动或手动)折叠选项的伪像。
ui.accordion小部件(ui版本1.8.24)的_toggle函数中的以下代码显式调用focus方法:
toShow.prev()
.attr({
"aria-expanded": "true",
"aria-selected": "true",
tabIndex: 0
})
.focus();此功能在2012年10月左右的jQuery UI版本1.9.0中被删除。
若要消除页面向下滚动的影响,请删除.focus()方法调用或升级到较新版本的jQuery UI (推荐)。
发布于 2010-09-02 11:01:28
我不确定如果没有一些代码,这是否可以工作,但有一个change event,根据文档:
每次折叠面板更改时都会触发此事件。如果将accordion动画化,则在动画完成时触发事件;否则立即触发。
因此,一旦展开发生,是否可以使用此事件并将焦点设置为有效的目标。
我已经用相应的demo /demos/ called /default.html进行了测试,它是在展开后调用的:
<script type="text/javascript">
$(function() {
$("#accordion").accordion({
change: function(event, ui) {
alert('blah');
// Add your focus code in here
}
});
});
</script>我还想提一下,在我使用手风琴的所有情况下,页面在展开后都不会跳下。
https://stackoverflow.com/questions/3262924
复制相似问题