【问题标题】:bootstrap-collapse.js hide and show eventsbootstrap-collass.js隐藏和显示事件
【发布时间】:2014-03-09 19:03:08
【问题描述】:

我遇到了 boostrap-collapse.js show.bs.collapse 和 hide.bs.collapse 事件的问题 - 这些事件在第一次调用时不会触发(例如页面加载 -> on.show =事件未触发 -> on.hide = 事件未触发 -> on.show = 事件已触发)。在显示/取消隐藏元素后,这些事件会按预期触发。

HTML

<div class = "student" id = "stud1" onclick = "return expandTable(this,'stud1exp')">  
// header and stuff
</div>

<div class="panel-collapse collapse" id = "stud1exp">
// info that I want to show/hide 
</div>

JS

function expandTable(self,invoke){
    $("#"+invoke).collapse('toggle');
    if (self.style.backgroundColor == "rgb(204, 238, 204)"){
      $("#"+invoke).on('hide.bs.collapse',function(){
          // do something when disabled...
      });
    }
    else{
      console.log("I am firing up here");
      $("#"+invoke).on('show.bs.collapse',function(){
        // do something when enabled
      });
    }
}

我尝试使用

设置可展开元素的默认状态
$("#"+divs[i].id).collapse({toggle:false});

但这并没有产生任何结果。有什么我想念的吗?干杯!

【问题讨论】:

    标签: javascript twitter-bootstrap collapse


    【解决方案1】:

    通过首先创建事件处理程序然后调用.collapse('toggle') 事件来修复:

      $("#"+invoke).on('show.bs.collapse',function(){
        // do something when enabled
      });
      $("#"+invoke).collapse('toggle');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多