dart - Dart :onContextMenu位置放错了位置

标签 dart dart-html

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

最佳答案

尝试

contextMenu.style.left = "${e.client.x}px";
contextMenu.style.top = "${e.client.y}px";

并且不要忘记绝对定位。

问候罗伯特

关于dart - Dart :onContextMenu位置放错了位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24399779/

相关文章:

dart - 如何查找 DOM 元素上的事件监听器列表?

flutter - 如何从 flutter_reactive_ble 示例获取 deviceServices

firebase - 如何使用flutter中的Map在Firestore中动态添加特定集合的文档的字段?

dart - Dart 中有多个 JavaScript 文件?

dart - 在 Dart Lang 中通过值获取变量名称

dart - 如何检查触发事件的子类?

websocket - Dart 中的 Dart websocket :io and dart:html

dart - 如何在不同的屏幕中通过不同的类发送数据

flutter - Flushbar编译器问题

dart - Dart 屏幕键盘事件