[modal-dialog] 부트 스트랩 jquery show.bs.modal 이벤트가 발생하지 않습니다.
부트 스트랩 3 문서의 모달 예제를 사용하고 있습니다. 모달이 작동합니다. 그러나 나는 그것이 실행될 때 show.bs.modal 이벤트에 액세스해야합니다. 지금은 시도하고 있습니다.
$('#myModal').on('show.bs.modal', function () {
alert('hi')
})
아무 일도 일어나지 않고 이벤트가 발생하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까??? 이것은 나에게 의미가 없습니다.
답변
이것을 사용하십시오 :
$(document).on('show.bs.modal','#myModal', function () {
alert('hi');
})
답변
on('shown.bs.modal')
팝업에 모달을 인스턴스화하기 전에 넣어야합니다.
$("#myModal").on("shown.bs.modal", function () {
alert('Hi');
});
$("#myModal").modal('show'); //This can also be $("#myModal").modal({ show: true });
또는
$("#myModal").on("shown.bs.modal", function () {
alert('Hi');
}).modal('show');
필드에 초점을 맞추려면 shown.bs.modal
대신를 사용하는 것이 좋지만 show.bs.modal
다른 이유로 배경을 숨기거나 모달이 표시되기 직전에 무언가를 설정하려면 show.bs.modal
함수를 사용하십시오 .
답변
함수를 $(document).ready(function() {
, 또는 더 간단하게 $(function() {
. CoffeeScript에서는 다음과 같습니다.
$ ->
$('#myModal').on 'show.bs.modal', (event)->
이것이 없으면 JavaScript는 문서가로드되기 전에 실행되며 #myModal
아직 DOM의 일부가 아닙니다. 다음은 Bootstrap 참조 입니다.
답변
$(document).on('shown.bs.modal','.modal', function () {
/// TODO EVENTS
});
답변
이 시도
$('#myModal').on('shown.bs.modal', function () {
alert('hi');
});
shown
대신 사용하면 show
함수 및 경고 끝에 세미 콜론이 있는지 확인하십시오.
답변
이거 추가 해봐:
$(document).ready(function(){
$(document).on('shown.bs.modal','.modal', function () {
// DO EVENTS
});
});
답변
비슷한 일이 나에게 일어 났고 setTimeout을 사용하여 해결했습니다.
부트 스트랩은 다음 시간 제한을 사용하여 표시를 완료합니다.
c.TRANSITION_DURATION = 300, c.BACKDROP_TRANSITION_DURATION = 150,
따라서 300 개 이상을 사용하면 작동해야하며 200은 작동합니다.
$('#myModal').on('show.bs.modal', function (e) {
setTimeout(function(){
//Do something if necessary
}, 300);
})