Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用jQuery Accordion时停止向下滚动页面_Jquery_Jquery Ui - Fatal编程技术网

如何在使用jQuery Accordion时停止向下滚动页面

如何在使用jQuery Accordion时停止向下滚动页面,jquery,jquery-ui,Jquery,Jquery Ui,我在应用程序中使用jQuery UI Accordion, 我的一个问题是: 在第二个选项卡中,有一个很长的表单。 每当用户进入第二个选项卡时,页面会自动向下滚动到表单底部。即使在我硬编码并将焦点设置到表单的第一个文本框之后 有什么想法吗 提前谢谢大家如果没有一些代码,我不确定这是否有效,但根据文档,有一个: 每次手风琴更改时都会触发此事件。如果手风琴已设置动画,则动画完成后将触发事件;否则,它会立即触发 因此,一旦展开,是否可以使用此事件并将焦点设置为有效目标 我已经用相应的demo/demo

我在应用程序中使用jQuery UI Accordion, 我的一个问题是: 在第二个选项卡中,有一个很长的表单。 每当用户进入第二个选项卡时,页面会自动向下滚动到表单底部。即使在我硬编码并将焦点设置到表单的第一个文本框之后

有什么想法吗


提前谢谢大家

如果没有一些代码,我不确定这是否有效,但根据文档,有一个:

每次手风琴更改时都会触发此事件。如果手风琴已设置动画,则动画完成后将触发事件;否则,它会立即触发

因此,一旦展开,是否可以使用此事件并将焦点设置为有效目标

我已经用相应的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(推荐)