2015-08-01 3 views
0

Я пытаюсь вызвать модальное окно bootstrap из события click.Модальный бутстрап открыт и закрыт после вызова из функции

Если я попытаюсь назвать это напрямую, у меня нет проблем. Если я попытаюсь вызвать его из функции, откроется окно и немедленно закроется.

Я искал и увидел, что единственный экземпляр, который я обнаружил, что это происходит, - это когда я повторяю перезагрузку js-файла, но, как вы видите на моей скрипке, это не так.

Несмотря на то, что я могу продвигаться в своем проекте, непосредственно называя модальный, я хотел бы убедиться, что это какая-то сдержанность, а не ситуация, которая укусила бы меня позже.

Я использую Bootstrap R. 3.3.4 и jquery 2.1.4.

Это моя скрипка: https://jsfiddle.net/calito22/gf9h8ez4/10/

<nav class="navbar navbar-default yvmc-header"> 
    <div class="container-fluid"> 
    <div class="yvmc-header--top-right-link--container text-right hidden-xs"> 
    <a href="" id="test" class="top-right--link showCreatePropertyWizard">CLick here to see the modal</a>  
    </div> 
    </div> 
    </nav> 

    <div class="modal fade active" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModal"> 
    <div class="modal-dialog" role="document"> 
     <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 text-center">Ingresa</h4> 
      </div> 
      <div class="modal-body login-modal--body"> 
       <div class="container-fluid"> 
        <div class="col-lg-10 col-lg-offset-1"> 
         <p id="registrate" class="modal-sub-title text-center">&iquest;No est&aacute;s Registrado? <a href="">Reg&iacute;strate aqu&iacute;</a></p> 
         <form> 
          <div class="form-group"> 
           <div class="input-group"> 
            <span aria-label="email" class="input-group-addon email-login-icon"></span> 
            <input autofocus size="100" type="email" class="form-control" id="EmailLogin" placeholder="Email"> 
           </div> 
          </div> 
          <div class="form-group"> 
           <div class="input-group"> 
            <span class="input-group-addon password-login-icon"></span> 
            <input size="100" type="password" class="form-control" id="PasswordLogin" placeholder="Clave"> 
           </div> 
          </div> 
          <div class="form-group"> 
           <label class="checkbox-inline"> 
            <input type="checkbox" value=""> Recordar Sesi&oacute;n 
           </label> 
           <span class="" style="float: right;"><a href="">&iquest;Olvidaste tu clave?</a></span> 
          </div> 
          <div class="text-center"> 
           <button type="submit" id="ingresar" class="btn blue-button">Ingresar</button> 
          </div> 
         </form> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
     $("#test").on("click",function() { 
     wizardproperties(); 
    }); 
    function wizardproperties(){ 
     $('#loginModal').modal('toggle'); 
     return false; 
     } 

ответ

2

Обновлен своего fiddle

$("#test").on("click",function() { 
    wizardproperties(); 
}); 
function wizardproperties(){ 
    $('#loginModal').modal('show'); 
    return false 
} 
+0

в скрипке он работает ... –

+0

Привет Ракеша, Спасибо за ваш ответ. Я попробовал ваш ответ, но у меня была такая же ошибка. Расширяя детали моего вопроса, попробуйте это: $ ("# test"). On ("click", function() { $ ('# loginModal'). Modal ('show'); return false;
}); Работы. Это то, что я сделал бы с моим проектом. Я просто хотел знать, является ли это ожидаемым поведением, или это то, о чем я должен заботиться. – Rodrigo

+0

, если вы хотите открыть модальное событие click, это совершенно правильно. если у вас есть сложная логика или код повторного использования, которую вы не хотите писать в событии click, вы можете создать отдельную функцию и использовать эту функцию в событии click. –

Смежные вопросы