bootstrap modal

模态框提供了两个可选尺寸,通过为 .modal-dialog 增加一个样式调整类实现。加modal-lg,加modal-sm,不加也可以,共有三种尺寸。

 

触发方式,data-target, 感觉比js得好用

 

触发modal的元素,给modal传值:可传多个值

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal" data-user='sfp' data-name='hh'>
      Launch demo modal
    </button>
$('#myModal').on('show.bs.modal', function(event){
      var button = $(event.relatedTarget);
      var user = button.data('user');
      var name = button.data('name');
      console.log(user);
      console.log(name);
    })

hide的话,就找不到谁触发modal的元素

  

button 中也可以通过href来触发,不过一般不会这么写 

 

传参可以通过data-或者option

backdrop:static,点击遮罩层,模态框不会被关闭

backdrop:false,遮罩层,不会变灰

keyboard:键盘上的 esc 键被按下时关闭模态框。

show:模态框初始化之后就立即显示出来。  也很有用,再加某个条件才能show;如果一个modal是否立即显示 是唯一的,才可以这样用;如果一个按钮,点击之后,还要判断是否触发,就不能在modal上设置show了。

remote:如果提供的是 URL,将利用 jQuery 的 load 方法从此 URL 地址加载要展示的内容(只加载一次)并插入 .modal-content 内。如果使用的是 data 属性 API,还可以利用 href 属性指定内容来源地址。下面是一个实例:

<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>  

   

方法:

.modal('toggle'):在模态框显示或隐藏之前返回到主调函数中(也就是,在触发 shown.bs.modal 或 hidden.bs.modal 事件之前)。
.modal('show'):在模态框显示之前返回到主调函数中 (也就是,在触发 shown.bs.modal 事件之前)。
.modal('hide'):在模态框隐藏之前返回到主调函数中 (也就是,在触发 hidden.bs.modal 事件之前)。
.modal('handleUpdate'):modal open,height change,readjust modal's position.

 

事件:

show.bs.modal:show 方法调用之后立即触发该事件。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。
shown.bs.modal:此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。
hide.bs.modal:hide 方法调用之后立即触发该事件。
hidden.bs.modal:此事件在模态框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发。
loaded.bs.modal:从远端的数据源加载完数据之后触发该事件。

 

如果想点击modal中的按钮,触发一定的事件,只能自己添加了。因为唯一的操作hide,不能区分是否要上传文件。

官网写的是,show之后传参和识别事件源;现在我想hide之后识别事件源,应该只能自己找了。

posted on 2015-08-31 16:04  j.w  阅读(871)  评论(0编辑  收藏  举报