Dart:onContextMenu位置错位

时间:2014-06-25 03:38:57

标签: dart dart-html

我的鼠标右键菜单有问题。我的网络应用程序已离开导航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)。 那么如何在点击鼠标的位置显示我的上下文菜单呢?

2 个答案:

答案 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; 现在它有效。