2017-12-15 8 views
0

나는 공중에 떠오르는 순간에 popover를 여는 div들을 묶어 놓았다. 이 버튼을 클릭하면 실행중인 div의 ID에 따라 내용이 달라지는 부트 스트랩 모달이 열립니다. 지금까지는 괜찮습니다.부트 스트랩 팝 오버에서 div id에 액세스

하지만 이제는 팝업 창을 클릭 할 수있게 만들고 모달을 시작할 수있게하려고합니다. 괜찮아요.하지만 jQuery 스크립트가 시작 ID에 액세스 할 수 없으므로 모달 콘텐츠를 표시 할 수 없습니다.

제안 사항? 감사 !

발사 사업부 :

<a class="dev_grid-cell"> 
<div id="crl0_trl2" class="wrapper" data-container="body" data-toggle="popover" data-placement="top" data-content="Content of the popover"> 
</div> 
</a> 

자바 스크립트

jQuery(document).on("click", ".popover", function(){ 
    $("#MMmodal").modal("show"); 
    $("[data-toggle=popover]").popover("hide"); 
}); 

// So far, it's ok: the modal launches. 

jQuery(document).on("click", ".popover", function(){ 
    var divID = this.id; // —> Here is the problem 
    var fields = divID.split("_"); 
    var crl = "#"+fields[0]; 
    var trl = "#"+fields[1]; 
    $("#crl").children().hide(); 
    $("#trl").children().hide(); 
    $(trl).css("display","block"); 
    $(crl).css("display","block"); 
    alert(divID); // —> returns "Undefined" or something like "popover457812" 
}); 
+0

'shown.bs.popover' 이벤트를 사용하여 누가 작성했는지 알려주는 팝업 표시에 일부 데이터를 포함 할 수 있습니다. – Phiter

답변

1

같은 것을보십시오. 당신 말이 맞아요. $를 사용하면이 문서를 참조 할 것입니다. 그러나 eventObj.target은 실제 클릭 된 요소를 나타냅니다.

jQuery(document).on("click", ".popover", function (eventObj){ 
    var divID = eventObj.target.id; // —> This may fix the problem 
    var fields = divID.split("_"); 
    var crl = "#"+fields[0]; 
    var trl = "#"+fields[1]; 
    $("#crl").children().hide(); 
    $("#trl").children().hide(); 
    $(trl).css("display","block"); 
    $(crl).css("display","block"); 
    alert(divID); 
}); 
+0

감사하지만 작동하지 않습니다. :-(경고가 나타나지 않습니다. – Truncatus