我的鼠标右键菜单有问题。我的网络应用程序已离开导航div,工具栏div和contentView div。 contentView div显示我的所有内容/工作类似于web /中的web。所以这里的问题就开始了。我在桌子上创建了onContextMenu,如下所示:
tr.onContextMenu.listen((e) {
contextMenu.style.display = 'block';
contextMenu.style.left = "${e.page.x}px";
contextMenu.style.top = "${e.page.y}px";
selectedRow.clear();
selectedRow.add(tr);
});
当我单击右键时,它从整个窗口获取位置,但是当它显示上下文菜单时,位置基于contentView div。例如,如果我的鼠标位置是(200,200)它就像(wholepage.0 + 200,wholepage.0 + 300)和上下文菜单位置将是(400,500)就像(contentView div.0 + 200,contentView div.0) 300)。 那么如何在点击鼠标的位置显示我的上下文菜单呢?
答案 0 :(得分:1)
尝试
contextMenu.style.left = "${e.client.x}px";
contextMenu.style.top = "${e.client.y}px";
并且不要忘记绝对定位。
关心罗伯特
答案 1 :(得分:1)
我刚刚改变了
${e.page.x}px;
${e.page.y}px;
至
${e.layer.x}px;
${e.layer.y}px;
现在它有效。