问答详情
源自:8-12 模态弹出框--JavaScript触发时的参数设置(二)

为什么添加了data-keyboard="true",按ESC无法退出?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript触发时的参数设置(二)</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<button class="btn btn-primary" type="button">点击我</button>
<div class="modal" id="mymodal" data-backdrop="true" data-keyboard="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">模态弹出窗标题</h4>
            </div>
            <div class="modal-body">
                <p>模态弹出窗主体内容</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
<script>
  $(function(){
    $(".btn").click(function(){
      $("#mymodal").modal("toggle");
    });
    $('#mymodal').on('hidden.bs.modal', function (e) {
    alert("hidden")
})
  });
</script>
</body>
</html>


提问者:best_me 2016-10-28 20:31

个回答

  • 叫你猪猪
    2016-10-29 17:16:03
    已采纳

    因为bootstrap提供了一些属性设置:

    $(function(){
       $(".btn").click(function(){
           $("#mymodal").modal({            keyboard:false
           });
       });
    });

  • qq_不完美但很真_03679853
    2017-04-20 16:15:02

    最佳回答解决问题了??

    应该是在模态框最外面那个div里添加 tabindex="-1"这个属性吧,其中-1可以为别的数值