Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何单击并在该位置写入x/y位置?_Javascript_Jquery - Fatal编程技术网

Javascript 如何单击并在该位置写入x/y位置?

Javascript 如何单击并在该位置写入x/y位置?,javascript,jquery,Javascript,Jquery,我在页面上有一个图像。我希望能够点击整个图像,并在点击点输出每次点击的x/y位置(坐标)。我该怎么做 注意:我已经知道如何获得x/y坐标。我的问题集中在如何在这些精确的坐标处将x/y坐标写入屏幕上 我假设在点击图像时,我会动态地编写一个内联div,其中包含文本坐标。但我不知道如何实现这一点。谢谢 您可以将容器添加到图像中 window.onclick = function(e){ var x = e.clientX; var y = e.clientY; console.log(x,

我在页面上有一个图像。我希望能够点击整个图像,并在点击点输出每次点击的x/y位置(坐标)。我该怎么做

注意:我已经知道如何获得x/y坐标。我的问题集中在如何在这些精确的坐标处将x/y坐标写入屏幕上


我假设在点击图像时,我会动态地编写一个内联div,其中包含文本坐标。但我不知道如何实现这一点。谢谢

您可以将容器添加到图像中

window.onclick = function(e){
  var x = e.clientX;
  var y = e.clientY;
  console.log(x, y);
};
<div class="image-container">
    <img src="image.jpg" alt="my image">
</div>
$('.image-container img').click(function (e) {
    var img = $(e.currentTarget);

    //get the point relative to the container
    //if you want it relative to the window, get pageX/pageY instead
    var x = e.offsetX;
    var y = e.offsetY;

    var coords = $('<div class="coords"></div>');
    coords.text(x + ', ' + y);

    var container = img.parent();
    coords.css({
        left: x + 'px',
      top: y + 'px'
    });
    container.append(coords);
});
然后将单击事件添加到图像中

<div class="image-container">
    <img src="image.jpg" alt="my image">
</div>
$('.image-container img').click(function (e) {
    var img = $(e.currentTarget);

    //get the point relative to the container
    //if you want it relative to the window, get pageX/pageY instead
    var x = e.offsetX;
    var y = e.offsetY;

    var coords = $('<div class="coords"></div>');
    coords.text(x + ', ' + y);

    var container = img.parent();
    coords.css({
        left: x + 'px',
      top: y + 'px'
    });
    container.append(coords);
});
$('.image container img')。单击(函数(e){
var img=$(如currentTarget);
//获取相对于容器的点
//如果希望它相对于窗口,请改为获取pageX/pageY
var x=e.offsetX;
变量y=e.offsetY;
var coords=$('');
coords.text(x+','+y);
var container=img.parent();
coords.css({
左:x+‘px’,
顶部:y+‘px’
});
container.append(coords);
});

下面是一个

您可以将容器添加到图像中

<div class="image-container">
    <img src="image.jpg" alt="my image">
</div>
$('.image-container img').click(function (e) {
    var img = $(e.currentTarget);

    //get the point relative to the container
    //if you want it relative to the window, get pageX/pageY instead
    var x = e.offsetX;
    var y = e.offsetY;

    var coords = $('<div class="coords"></div>');
    coords.text(x + ', ' + y);

    var container = img.parent();
    coords.css({
        left: x + 'px',
      top: y + 'px'
    });
    container.append(coords);
});
然后将单击事件添加到图像中

<div class="image-container">
    <img src="image.jpg" alt="my image">
</div>
$('.image-container img').click(function (e) {
    var img = $(e.currentTarget);

    //get the point relative to the container
    //if you want it relative to the window, get pageX/pageY instead
    var x = e.offsetX;
    var y = e.offsetY;

    var coords = $('<div class="coords"></div>');
    coords.text(x + ', ' + y);

    var container = img.parent();
    coords.css({
        left: x + 'px',
      top: y + 'px'
    });
    container.append(coords);
});
$('.image container img')。单击(函数(e){
var img=$(如currentTarget);
//获取相对于容器的点
//如果希望它相对于窗口,请改为获取pageX/pageY
var x=e.offsetX;
变量y=e.offsetY;
var coords=$('');
coords.text(x+','+y);
var container=img.parent();
coords.css({
左:x+‘px’,
顶部:y+‘px’
});
container.append(coords);
});

这是一个

这是一个工作片段。其思想是将单击事件绑定到
img
元素,然后单击创建一个动态
span
标记,并将其
top
left
css属性分别设置为
event.offsetY
event.offsetX
。这将确保跨度正好位于发生单击的位置

$('img')。在('click',函数(e){
var span=“+e.offsetX+”,“+e.offsetY+”
$('body')。追加(span);
});

这里是一个工作片段。其思想是将单击事件绑定到
img
元素,然后单击创建一个动态
span
标记,并将其
top
left
css属性分别设置为
event.offsetY
event.offsetX
。这将确保跨度正好位于发生单击的位置

$('img')。在('click',函数(e){
var span=“+e.offsetX+”,“+e.offsetY+”
$('body')。追加(span);
});

使用
MouseEvent
中的
offsetX
offsetY
查找图像中单击的坐标,并使用
pageX
pageY
获取在该位置定位
元素所需的坐标:

$("img").click(function(e) {
  $("<span></span>")
    .css({
      position: "absolute",
      left: e.pageX,
      top: e.pageY
    }).text("(" + e.offsetX + ", " + e.offsetY + ")")
    .appendTo("body");
});
$(“img”)。单击(函数(e){
$("")
.css({
位置:“绝对”,
左:e.pageX,
顶部:e.pageY
}).text(“+e.offsetX+”、“+e.offsetY+”)
.附于(“主体”);
});
$(“img”)。单击(函数(e){
$("")
.css({
位置:“绝对”,
左:e.pageX,
顶部:e.pageY
}).text(“+e.offsetX+”、“+e.offsetY+”)
.附于(“主体”);
});

使用
MouseEvent
中的
offsetX
offsetY
查找图像中单击的坐标,并使用
pageX
pageY
获取在该位置定位
元素所需的坐标:

$("img").click(function(e) {
  $("<span></span>")
    .css({
      position: "absolute",
      left: e.pageX,
      top: e.pageY
    }).text("(" + e.offsetX + ", " + e.offsetY + ")")
    .appendTo("body");
});
$(“img”)。单击(函数(e){
$("")
.css({
位置:“绝对”,
左:e.pageX,
顶部:e.pageY
}).text(“+e.offsetX+”、“+e.offsetY+”)
.附于(“主体”);
});
$(“img”)。单击(函数(e){
$("")
.css({
位置:“绝对”,
左:e.pageX,
顶部:e.pageY
}).text(“+e.offsetX+”、“+e.offsetY+”)
.附于(“主体”);
});


您应该在CSS中使用
pageX
pageY
定位,否则这仅在图像位于页面左上角(如代码段中)时有效。您已经可以从
body
的默认页边距中看到一个问题,该页边距将单击位置与文本位置偏移。@4谢谢您指出这一点。我更新了我的答案。如果您是向下投票人,您可以删除向下投票吗?您应该在CSS中使用
pageX
pageY
定位,否则这只在图像位于页面左上角(如代码段中)时起作用。您已经可以从
body
的默认页边距中看到一个问题,该页边距将单击位置与文本位置偏移。@4谢谢您指出这一点。我更新了我的答案。如果你是下一个投票人,你能删除下一个投票吗?以后,避免使用NSFW(不安全工作)的图像。如果你一直在寻找图像的来源,我建议你;每个人都喜欢猫;无论他们是在工作还是在家,年轻人还是老年人!今后,避免使用NSFW(工作不安全)图像。如果你一直在寻找图像的来源,我建议你;每个人都喜欢猫;无论他们是在工作还是在家,年轻人还是老年人!