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);
});
没有工作丹尼尔H.J.它不给我corndinates作为NaN NaN。我甚至尝试过使用img(#modal-img)的id,仍然不起作用。 – Shinaj
我在我的代码中发现了一个错误。我对我的答案做了一些编辑,所以现在它将直接选择对话框,并使用jQuery offset()来获取偏移量*。 –
辉煌。有用。谢谢。 – Shinaj