jQuery 重新绑定后选项卡更改后使用 Active Social for DotNetNuke



我正在使用第三方选项卡控件,该控件是名为Active Social的DotNetnuke模块的一部分,我没有文档。问题是当我更改选项卡时,我丢失了一个 js(砖石.js(,它为选项卡中加载的内容设置样式。我需要重新绑定脚本,但没有成功

这是我到目前为止所拥有的。

我正在使用在以前的项目中使用的重新绑定方法

function BindControlEvents() {
        //jQuery is wrapped in BindEvents function so it can be re-bound after each callback.
        var $container = $('.addMasonry');
        $container.imagesLoaded(function () {
            $container.masonry({
                itemSelector: '.explore-image',
                columnWidth: 10,
                isFitWidth: true
            });
        });
    }
    //Initial bind
    $(document).ready(function () {
        BindControlEvents();
    });

重新绑定回调 var prm = Sys.WebForms.PageRequestManager.getInstance((;

    prm.add_endRequest(function () {
        BindControlEvents();
    });

但是,当选项卡更改时,这不会重新绑定。所以我在页面上创建了一个按钮

 <li><a onclick="BindControlEvents();" href="#">re-bind</a></li>

在选项卡更改后单击此按钮将重新绑定我的脚本。

我假设的下一步是找到告诉我选项卡已完成加载但到目前为止我没有成功的事件

我尝试选择选项卡容器并在 .load(( 和 .ajaxComplete(( 上运行 BindControlEvents 函数,但仍然没有成功。

是否有其他方法可以找出选项卡何时完全加载。我知道我可能不会付出太多工作,但这是我所知道的。

感谢您的帮助

马克

也许有一个部分回发没有被截获,尝试在jquery init之外的js中添加以下内容:

    <script type="text/javascript">
    Sys.Application.add_load(BindControlEvents);
    function BindControlEvents() {
    [...]
    </script>

希望这有帮助,铝。

相关内容

最新更新