如何在Bootstrap中的模态组件上的按钮上添加其他操作

时间:2014-07-22 08:47:42

标签: jquery twitter-bootstrap-3

我有一个带有data-dismiss="modal"按钮的模态组件。单击此按钮时,我还需要绑定另一个动作。我试过了:

$("#lsfModal").on("click", ".btn-ok", function(){
    window.location = someURL;
});

我还尝试使用mousedown代替click,但没有运气。我注意到根本没有调用此函数。

有什么想法吗?感谢

我正在使用的HTML:

<div class="modal" id="lsfModal" tabindex="-1" role="dialog" aria-labelledby="lsfModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
          <h4 class="modal-title" id="lsfModalLabel">Modal title</h4>
        </div>
        <div class="modal-body">
          Lorem ipsum dolor sit amet
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default btn-cancel" data-dismiss="modal">Cancel</button>
          <button type="button" class="btn btn-default btn-ok" data-dismiss="modal">OK</button>
        </div>
      </div>
    </div>
  </div>

LATER EDIT :该死的。我实际上使用的是另一个选择器:$("#lsfModal.confirm")。后来通过javascript添加了类confirm,这就是为什么它无法正常工作。 :|

2 个答案:

答案 0 :(得分:3)

我认为你正在添加模型运行时。你需要为此目的使用代表团。

$("body").on("click", "#lsfModal.btn-ok", function(){
   // do some thing herer
});

标记..

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
         <button type="button " class="btn btn-primary deleteButton" ><span aria-hidden="true">&times;</span><span class="sr-only">Delete</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Javascript:

$("body").on("click", ".deleteButton", function(){
       // do some thing herer
  alert('sds');
    });

你可以玩bootply BootstrapDialog

答案 1 :(得分:0)

如果您想将处理程序附加到动态生成的控件,请使用委托语法

$( "container" ).on( "click", "#urcontrol", function() {
  alert( $( this ).text() );
});