在动态位置生成下拉菜单

时间:2020-02-10 20:36:42

标签: javascript jquery html

我有一个使用DataTables库创建的动态表,在表的每一行中都有一个按钮,单击该按钮将打开一个下拉菜单。我想使用jQuery快速创建菜单,但遇到了一个问题,就是我不知道我要在哪里添加代码。

是否可以将代码附加到触发函数的位置或div?

目前,我最好的解决方法是获取触发按钮的X坐标并在这些坐标处创建菜单。

表格项的HTML和所需结果的示例。

<td><button type="button" onclick="buttonClick(event)"><img src="assets/actionMenu.png"></button></td>

enter image description here

1 个答案:

答案 0 :(得分:1)

因此,看来您正在尝试仅使用jQuery来制作我通常所说的context menu。最好使用包来处理这些包(如果有的话,我会在下面解释原因),但是在这种情况下,如果您是通过jQuery自己创建的,那么我认为最简单的答案就是您的最佳答案:在HTML旁边添加HTML按钮,以便它存在于每一行中。您可以默认隐藏菜单,然后在单击按钮时使其可见。

这不是一个完美的解决方案,您将不得不在JS中管理菜单的隐藏/显示,并确保菜单的CSS对于每一行看起来都是正确的。您还可能需要处理一些边缘情况,例如,如果菜单在最后一行中打开:该行下方是否有足够的空间来显示整个菜单?您是否必须使其“下降”而不是“下降”?等等