我正在尝试使用Bootstrap在Modal窗口设置中获取x和y坐标。单击图像时会弹出模态窗口,但是当我单击模态窗口的任何位置时,它会给出相对于浏览器窗口而不是模态窗口的坐标。
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);
});
答案 0 :(得分:0)
你的#myModal元素是模态的全宽背景,所以对于offsetTop和offsetLeft,它总是有0;你想要的是在背景中定位对话。
$("#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);
});