Bootstrap Modal窗口上的鼠标x位置不正确

问题描述:

我想要使用Bootstrap获取Modal窗口设置内的x和y坐标。模态窗口在图像点击时弹出,但是当我点击模态窗口的任何地方时,它会给我相对于浏览器窗口的坐标而不是模态窗口。Bootstrap Modal窗口上的鼠标x位置不正确

HTML:

<div style="width: 200px; height: 200px;background-color: red; margin: 200px 
auto"> 
    <img src="image/Chrysanthemum.jpg" width="100%" height="100%" alt=""> 
</div> 



<div id="myModal" class="modal fade" role="dialog"> 
    <div class="modal-dialog" > 
<!-- Modal content--> 
<div class="modal-content" style="width: 700px; height: 600px"> 

    <div class="modal-body"> 
    <img src="" alt="" id="modal-img" width="100%" height="100%"> 
    </div> 

</div> 

JQuery的:

$("img").on("click",(function(){ 

    var imgsrc = $(this).attr("src");    
     $("#modal-img").attr("src",imgsrc); 
     $("#myModal").modal("show");  
})); 



$("#myModal").on("click",function(e){ 
    var relativeX = e.pageX - this.offsetLeft; 
    var relativeY = e.pageY - this.offsetTop; 
    alert(relativeX + " " + relativeY); 
}); 

你#myModal元素是模态的全宽度的背景,所以它总是将有0的offsetTop和offsetLeft;你想要的是将背景中的对话作为目标。

$("#myModal").on("click",function(e){ 
    var dialogElm = $("#myModal .modal-dialog"); 
    var relativeX = e.pageX - dialogElm.offset().left; 
    var relativeY = e.pageY - dialogElm.offset().top; 
    alert(relativeX + " " + relativeY); 
}); 
+0

没有工作丹尼尔H.J.它不给我corndinates作为NaN NaN。我甚至尝试过使用img(#modal-img)的id,仍然不起作用。 – Shinaj

+0

我在我的代码中发现了一个错误。我对我的答案做了一些编辑,所以现在它将直接选择对话框,并使用jQuery offset()来获取偏移量*。 –

+0

辉煌。有用。谢谢。 – Shinaj