gpt4 book ai didi

javascript - 如何在表格单元格上 float Dojo DropDownMenu

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

简而言之,我怎样才能显示一个 float 在表格上而不是在表格单元格内呈现的下拉菜单?

我正在使用此示例代码在表格单元格内显示下拉菜单:

window.someObj.showSocs = function(index){
var pSubMenu = new DropDownMenu({});
pSubMenu.addChild(new MenuItem({
label: "Cut",
iconClass: "dijitEditorIcon dijitEditorIconCut"
}));
pSubMenu.addChild(new MenuItem({
label: "Copy",
iconClass: "dijitEditorIcon dijitEditorIconCopy"
}));
pSubMenu.addChild(new MenuItem({
label: "Paste",
iconClass: "dijitEditorIcon dijitEditorIconPaste"
}));

pSubMenu.placeAt("socs-" + index.toString());
pSubMenu.startup();
}

哪里DropDownMenu"dijit/DropDownMenu"MenuItem"dijit/MenuItem" .

然后我使用此代码添加到表格单元格的链接(它在 dgrid renderCell 函数内执行,但我认为它与此问题无关):

var link = document.createElement("a");
var linkText = "javascript:someObj.showSocs(" + index + ")";
link.setAttribute("href", linkText);
link.innerHTML = "DropNew";
td.appendChild(link);
td.setAttribute("id", "socs-" + index.toString());

现在,当我单击链接时,下拉菜单正在呈现,但在表格单元格内,而不是在它上面。这会导致当前表格行展开。我猜这是因为一些我无法理解的 CSS 属性。我没有覆盖任何 CSS 属性,所以我希望下拉列表自动放置在表格上方而不是单元格内?

最佳答案

您将菜单的 DOM 节点放入单元格中,因此它会拉伸(stretch)单元格。您可以将菜单放入 <body>并在 dijit/place 的帮助下绝对定位它围绕所需节点。

我会为上下文菜单使用内置功能,例如:

// var Menu = require("dijit/Menu");
var menu = new Menu({
leftClickToOpen: true,
targetNodeIds: ["table1"],
selector: "a.dropNew"
});

查看实际效果:http://jsfiddle.net/phusick/TBWXL/

enter image description here

关于javascript - 如何在表格单元格上 float Dojo DropDownMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481898/

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