gpt4 book ai didi

javascript - 右键单击菜单未显示在正确的位置

转载 作者:太空宇宙 更新时间:2023-11-04 15:49:28 25 4
gpt4 key购买 nike

我正在尝试为元素列表创建一个编辑和删除选项,当用户右键单击该列表元素时,我已将其显示。

document.addEventListener('contextmenu', function(e) {
e.preventDefault();
var x = e.offsetX;
var y = e.offsetY;
var d = document.getElementById("context-menu");
d.style.display = "block";
d.style.left = x + 'px';
d.style.top = y + 'px';
console.log(x, y);
}, false);
#context-menu {
display: none;
position: absolute;
color: blue;
}

.listItems li {
padding-bottom: 25px;
}
<ul class="listItems">
<li>I am list one</li>
<li>I am list two</li>
<li>I am list three</li>
<li>I am list four</li>
</ul>

<ul id="context-menu">
<li> Edit </li>
<li> Delete </li>
</ul>

jsfiddle 链接是,https://jsfiddle.net/dmfvz5qw/1/

在这里,当我右击时,名为 context-menuid 没有显示在鼠标箭头附近,而是显示在点击列表的更顶部。

我需要在右键单击位置附近而不是任何其他位置显示 context-menu

请帮我解决这个问题,我也需要 Pure Javascript 的结果。

最佳答案

请改用clientXclientY:

var x = e.clientX;
var y = e.clientY;

关于javascript - 右键单击菜单未显示在正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51888673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com