2015-04-22 5 views
0

Я использовал bootstrap modal, чтобы при нажатии на div модальные всплывающие окна. Тем не менее, при нажатии на кнопку закрытия, если я нажму на div, модал не появится снова. Просто интересно, как я могу это сделать.bootstrap модальный щелчок на div появляется один раз

HTML-:

<div class="col-sm-3 col-lg-3" id="userdiv"> 
    <div class="modal fade " data-backdrop="false"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
        <h4 class="modal-title">Modal title</h4> 
       </div> 
       <div class="modal-body"> 
        <p>One fine body&hellip;</p> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 

       </div> 
      </div><!-- /.modal-content --> 
     </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

JS:

var $modal = $('.modal').modal({ 
    show: false 
}); 
$('#userdiv').on('click', function() { 
    $modal.modal('show'); 
}); 
+0

Выглядит отлично здесь: http://jsfiddle.net/b501uat6/ – user1012181

+0

@ user1012181 Это потому, что вы добавили второй DIV с идентификатором = "userdiv". –

+0

Есть ли какие-либо ограничения на ваш код? Почему бы не использовать параметр атрибутов данных? Например: http://www.bootply.com/Dm1LweDUAQ –

ответ

0

Вы должны переместить <div class="modal fade>...</div> вне вашего <div id="userdiv">...</div>, таким образом, функция .click() будет захвачена правильно и открыть модальное:

<div class="col-sm-3 col-lg-3" id="userdiv"> 
    <h4>User Div</h4> 
</div> 

<div class="modal fade " data-backdrop="false"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title">Modal title</h4> 
     </div> 
     <div class="modal-body"> 
     <p>One fine body&hellip;</p> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 

     </div> 
    </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

См. Это bootply для примера.

+0

Эта версия работала для меня. Хотя я бы хотел получить версию без работы JS. Большое спасибо всем за быстрые ответы. – doohsam

+0

Рад, что это помогло! –

1

Это должно работать без каких-либо JS

jsFiddle: http://jsfiddle.net/b501uat6/1/

<div class="col-sm-3 col-lg-3" id="userdiv" data-toggle="modal" data-target="#myModal"> CLICK EXACTLY ON THE TEXT 
    <div class="modal fade " id='myModal' data-backdrop="false"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
        <h4 class="modal-title">Modal title</h4> 
       </div> 
       <div class="modal-body"> 
        <p>One fine body&hellip;</p> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 

       </div> 
      </div><!-- /.modal-content --> 
     </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 
+0

Спасибо за ваш быстрый ответ. Я постараюсь, чтобы страница работала только с HTML. Хотя с этим ответом кажется, что это будет работать только при нажатии на CLICK ТОЧНО В ТЕКСТЕ. Как мне заставить это работать, так что щелчок в любом месте div работает модально? – doohsam

+0

Он будет работать, если вы щелкните в любом месте на 'div' – user1012181