[twitter-bootstrap] 부트 스트랩 모달이 즉시 사라짐

부트 스트랩을 사용하여 웹 사이트에서 작업하고 있습니다.

기본적으로, 나는 영웅 유닛의 버튼으로 소환 된 홈페이지에서 모달을 사용하고 싶었습니다.

버튼 코드 :

<button type="button" 
    class="btn btn-warning btn-large" 
    data-toggle="modal"
    data-target="#myModal">Open Modal</button>

모달 코드 :

<div class="modal hide fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">In Costruzione</h3>
  </div>
  <div class="modal-body">
    <p>Test Modal: Bootstrap</p>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Chiudi</button>
    <button class="btn btn-warning">Salva</button>
  </div>
</div>

문제는 버튼을 클릭하자마자 모달이 사라지고 즉시 사라진다는 것입니다.

도움을 주셔서 감사합니다.

또한 드롭 다운 삼각형의 색상을 변경하는 방법 (위를 가리키고 가리 키지 않음)? 오렌지와 브라운을 기반으로 한 웹 사이트에서 작업 중이며 파란색은 정말 성가신 일입니다.



답변

가능한 원인

이것은 모달 플러그인 용 JavaScript가 두 번로드 될 때의 일반적인 동작입니다. 플러그인이 이중로드되지 않는지 확인하십시오. 사용하는 플랫폼에 따라 여러 소스에서 모달 코드를로드 할 수 있습니다. 일반적인 것들 중 일부는 다음과 같습니다.

  • bootstrap.js (전체 BootStrap JS 제품군)
  • bootstrap.min.js (위와 동일, 축소됨)
  • bootstrap-modal.js (독립형 플러그인)
  • 의존성 로더, 예를 들어 require('bootstrap')

디버깅 팁

시작하기에 좋은 곳은 click브라우저의 개발자 도구를 사용하여 등록 된 이벤트 리스너 를 검사하는 것 입니다. 예를 들어 Chrome은 리스너를 등록 할 코드를 찾을 수있는 JS 소스 파일을 나열합니다. 또 다른 옵션은 페이지에서 소스를 검색하여 모달 코드에서 찾은 문구를 검색하는 것입니다 (예 🙂 var Modal.

불행히도, 모든 경우에 항상 물건을 찾을 수는 없습니다. 네트워크 요청을 검사하면 페이지에로드 된 모든 것을 그림으로 볼 수 있습니다.

(깨진) 데모

bootstrap.jsbootstrap-modal.js를 모두로드 할 때 (경험을 확인하기 위해) 데모는 다음과 같습니다 .

플 런커

해당 페이지에서 소스의 맨 아래로 스크롤 <script>하면 bootstrap-modal.js 의 행을 제거하거나 주석 처리 한 다음 모달이 예상대로 작동하는지 확인할 수 있습니다.


답변

나는 같은 문제가 있었지만 다른 원인이있었습니다. 나는 설명서를 따르고 다음과 같은 버튼을 만들었습니다.

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

클릭하면 아무 일도 일어나지 않는 것 같습니다. 그러나 버튼이 <form>일시적으로 동일한 페이지를 가져 왔습니다.

type="button"버튼 요소 를 추가 하여 클릭하면 양식이 제출되지 않도록 수정했습니다.


답변

나를 위해 일한 것은 제거하는 것이 었습니다.

data-toggle="modal"

버튼에서. 버튼 자체는 링크, div, 버튼 등 모든 요소가 될 수 있습니다.


답변

이 질문에 대한 다른 유용한 답변 후에 내 mvc 앱에서 중복 부트 스트랩 참조를 잠시 찾았습니다.

마침내 그것을 찾았습니다-그것은 내가 사용하고있는 다른 라이브러리에 포함되어 있었으므로 전혀 분명하지 않았습니다! ( datatables.net).

여전히이 문제가 발생하면 부트 스트랩을 포함 할 수있는 다른 라이브러리를 찾으십시오. ( datatables.net부트 스트랩 유무에 관계없이 다운로드를 지정할 수 있습니다-다른 사람들도 동일하게 수행합니다).

그래서 나는 bootstrap.min.js내를 제거 bundle.config하고 모두 잘 작동했습니다.


답변

bootstrap-sassgem이 제공하는 Bootstrap을 사용하는 Rails 응용 프로그램과 관련하여 동일한 증상이 있으며 @merv의 대답으로 올바른 경로를 찾을 수 있습니다.

application.js파일은 다음과 같습니다.

//= require bootstrap
//= require bootstrap-sprockets

수정은 두 줄 중 하나를 제거하는 것이 었습니다. 실제로 gem의 readme는이 오류에 대해 경고합니다. 내 잘못이야.


답변

내 코드에는 어떻게 든 bootstrap.min.js가 두 번 포함되었습니다. 나는 그들 중 하나를 제거하고 모든 것이 잘 작동합니다.


답변

e.preventDefault(); jquery ui로

나 에게이 문제는 jquery ui 버튼의 click 메소드 재정의로 발생하여 기본적으로 클릭시 페이지가 다시로드됩니다.