如何在更新面板请求完成时注册要运行的函数

时间:2015-01-20 12:47:06

标签: javascript jquery twitter-bootstrap

Library:Bootstrap 3:Collapse.js。

我试过了

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);

});

function endRequestHandler(sender, args) {
    //alert("this should work");
    $('#collapseTwo').collapse.in();

但它会抛出Uncaught TypeError: undefined is not a function

alert反而没问题。

我认为JQuery是未定义的,但是这段代码的页面从母版页继承了所有相应的脚本,所以这不是问题。

所以,在this advice之后我继续尝试

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(endRequestHandler);

但我没有取得任何进展。

我也试过use the body tag,但仍然没有快乐。

请有人告诉我我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:2)

Bootstrap及其库主要用于类和数据绑定。

bootstrap的collapse.js没有in()函数。如果要将可折叠重置为要折叠,则需要删除该类

$('#collapseTwo').removeClass('in');

这将使其重置。

如果您也想要动画,可以通过模拟点击(或每个应用程序触发此展开的方式显示)来使用jquery触发此动画

$(<selector for your button>).trigger('click')