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

使用DotNetNuke的Active Social在更改选项卡后重新绑定jQuery,jquery,ajax,dotnetnuke,Jquery,Ajax,Dotnetnuke,我正在使用第三方选项卡控件,它是名为Active Social的DotNetnuke模块的一部分,我没有相关文档。问题是,当我更改选项卡时,我会丢失一个js(mashise.js),该js为加载到选项卡中的内容设置样式。我需要重新绑定脚本,但尚未成功 这是我到目前为止所拥有的 我正在使用我在以前的项目中使用过的重新绑定方法 function BindControlEvents() { //jQuery is wrapped in BindEvents function so it

我正在使用第三方选项卡控件,它是名为Active Social的DotNetnuke模块的一部分,我没有相关文档。问题是,当我更改选项卡时,我会丢失一个js(mashise.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()

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

 <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>
    
    
    Sys.Application.add_load(BindControlEvents);
    函数BindControlEvents(){
    [...]
    
    希望这有帮助,
    al.

    如果不知道您使用的选项卡控件是什么,我们就无法真正帮助您,因为我们不知道如何研究知道何时加载选项卡的方法。您可以切换到使用jQuery UI选项卡吗?我想这会很难。我无法真正切换,因为选项卡是名为Active Social的Dotneuke模块的核心部分。也许我应该我希望这里的人也经历过同样的事情。
        <script type="text/javascript">
        Sys.Application.add_load(BindControlEvents);
    
        function BindControlEvents() {
        [...]
        </script>