Bootstrap模态事件不会触发

时间:2017-08-23 08:03:51

标签: javascript jquery twitter-bootstrap bootstrap-modal

我正在尝试绑定一些代码以在我的模态打开时触发。我打开模态没有问题,但由于某些原因我无法确定我的事件没有触发。

这是我的模态

<div id="details" class="modal fade" style="display: none;" aria-hidden="true">
    <div class="modal-dialog modal-">
        <div class="modal-content">
            <div class="modal-header">
                <button class="close" type="button" data-dismiss="modal">×</button>
            <h4 class="modal-title"></h4>
            </div>
                <div class="modal-body">
            <p id="modal-body" class="text-defualt text- text-normal text-left"></p>
        </div>
            <div class="modal-footer"></div>
        </div>
    </div>
</div>

这是我的JS脚本,我正试图运行

<script>
    $(function(){ // let all dom elements are loaded
      $("#details").on("show.bs.modal", function (e) {
          alert("event fired");
      });
    })
</script>'

我正在使用bootstrap 3.3和jQuery v1.11.2

如果有更多信息可以帮助解决问题,请告诉我 提前致谢

3 个答案:

答案 0 :(得分:2)

请尝试以下代码: 假设您在点击任何按钮时打开模态弹出窗口;添加下面的代码,它应该工作: 请参阅此fiddle

 <script>
    $(function(){ // let all dom elements are loaded
     $(document).on('show.bs.modal','#details', function () {
        alert('hi');
      });
    });
</script>

答案 1 :(得分:1)

您可以使用解决方案https://jsfiddle.net/kxr2subr/

User.all
$(function(){ // let all dom elements are loaded
  $("#details").on("show.bs.modal", function (e) {
      alert("event fired");
  });
  
  $('button').click(function(){
  	$('#details').modal({show: true});
  });
});

我猜你错过了<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <button> Open Modal </button> <div id="details" class="modal fade" style="display: none;" aria-hidden="true"> <div class="modal-dialog modal-"> <div class="modal-content"> <div class="modal-header"> <button class="close" type="button" data-dismiss="modal">×</button> <h4 class="modal-title"></h4> </div> <div class="modal-body"> <p id="modal-body" class="text-defualt text- text-normal text-left"></p> </div> <div class="modal-footer"></div> </div> </div> </div>档。

答案 2 :(得分:1)

您的代码会触发模态和警报。你还记得包含JQuery吗?

试试 CodePen Demo

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#details">
  Launch demo modal
</button>

<div id="details" class="modal fade" style="display: none;" aria-hidden="true">
  <div class="modal-dialog modal-">
    <div class="modal-content">
      <div class="modal-header">
        <button class="close" type="button" data-dismiss="modal">×</button>
        <h4 class="modal-title"></h4>
      </div>
      <div class="modal-body">
        <p id="modal-body" class="text-defualt text- text-normal text-left">I work</p>
      </div>
      <div class="modal-footer"></div>
    </div>
  </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>

<script>
  $(function() {
    $("#details").on("show.bs.modal", function(e) {
      alert("event fired");
    });
  });
</script>

相关问题