2014-10-03 4 views
11

relatedTargetshow.bs.modal 이벤트 속성을 사용하여 클릭 된 요소를 얻으려고합니다. 그것은 항상 정의되지 않고있다.부트 스트랩 모달 관련 타겟이 정의되지 않았습니다.

$("#curCarSelect").on('click', function(e) { 
    $("#curCarModal").on('show.bs.modal', function(event) { 
     modalOpenedby = event.relatedTarget; 
     alert(modalOpenedby); 
    }).modal('toggle'); 
    }); 
+0

태그는 ** "트위터 - 부트 스트랩을"은'relatedTarget'가되도록 뭔가 다른 –

답변

28

시도 :

$ 모달 다음 열려면 모달 요소입니다
$("#curCarSelect").on('click', function(e) { 
    $modal.modal('toggle', $(this)); 
}); 

: 이것에 대한

$modal.on('show.bs.modal', function (event) { 
    var button = $(event.relatedTarget) // Button that triggered the modal 
}) 
+1

이것은 가장 좋은 대답이어야합니다. 현재 "최고의"사람은 쓸모가 없습니다. –

+0

이벤트 객체에 액세스 할 때 정의되지 않은 요소 –

0

이 시도 :

$('#curCarModal').on('shown.bs.modal', function() { 
    modalOpenedby = event.relatedTarget; 
}); 

$("#curCarSelect").on('click', function(e) { 
    $("#curCarModal").modal('toggle'); 
    alert(modalOpenedby); 
}); 
1

Per the documentation :

내가 가진 무엇

을 클릭에 의한 경우, 클릭 된 요소는로 사용할 수 있습니다 이벤트의 속성은 relatedTarget입니다.

하지만 방금 .modal('toggle') (으)로 전화하고 있습니다. 클릭 이벤트가 포함되지 않음, 이유는 relatedTarget이 정의되지 않았습니다.

+1

하면, ** ** 클릭 이벤트를 포함 않습니다 코드를 게시 할 수 있음을 의미하기 때문에 사용 ** 정의되지 않았습니까? 나는 이것을 정말로 배우기 위해 노력하고있다. BS 3.2.2의 근거에 대한 실례가 에이스 다. 고맙습니다;) – lowtechsun

+2

'data-toggle = "modal"' – cvrebert

+0

@lowtechsun을 사용할 때 정의됩니다. 이것을 알아낼 수 있습니까? – user1149244

0

나는 그것이 나를 위해 일하게 만든다. 이 시도 :

$("#curCarSelect").on('click', function(e) { 
    $("#curCarModal").on('show.bs.modal', function(event) { 
     modalOpenedby = event.relatedTarget; 
     alert(modalOpenedby); 
    }).modal('toggle', e); 
}); 
0

해결 방법은 부트 스트랩 2에 나를 위해 일한 :

$("a[data-toggle='modal']").on('click', function(e) { 
    $_clObj = $(this); //clicked object 
    $_mdlObj = $_clObj.attr('data-target'); //modal element id 
    $($_mdlObj).on('shown.bs.modal',{ _clObj: $_clObj }, function (event) { 
      $_clObj = event.data._clObj; //$_clObj is the clicked element !!! 
      //do your stuff here... 
    }); 
}); 
1

을 사용해야하는 경우을 동적으로 열면 모달 함수에서 두 번째 인수로 대상을 전달할 수 있습니다. 사용 "부트 스트랩"하지 마십시오

$("#curCarSelect").on('click', function(e) { 
    $("#curCarModal").modal('toggle', $("#curCarSelect")); 
});