如何获得点击tr的绝对位置?



我使用材质中的菜单。我想做一个下拉菜单,当用户右键单击tr,但菜单弹出在表头位置。(X坐标工作正常,但Y坐标卡在表头的位置)

$(document).on('contextmenu','#table2 tr',function(e){
e.preventDefault();
let parentOffset = $(this).offset();
menu.open = false;
console.log($(this).attr('id'));
menu.setAbsolutePosition(e.pageX - parentOffset.left, e.pageY - parentOffset.top);
menu.open = true;
});

如何固定坐标?

$(document).on('contextmenu','#table2 tr',function(e){
e.preventDefault();
menu.open = false;
console.log($(this).attr('id'));
menu.setAbsolutePosition(e.clientX, e.clientY);
menu.open = true;
});

问题解决了,因为setAbsolutePosition从父位置设置位置(我不知道)。我把菜单元素放在body标签后面,然后使用menu.setAbsolutePosition(e.clientX, e.clientY);,现在一切都正常了

最新更新