javascript - 在动态位置生成下拉菜单

标签 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

最佳答案

所以看起来您正在尝试仅使用 jQuery 来制作我通常所说的上下文菜单。如果可用的话,最好使用包来处理这些问题(原因我将在下面解释),但在这种情况下,如果您通过 jQuery 自己创建它,我认为最简单的答案是最好的答案:在模板中的按钮,以便它存在于每一行中。您可以使菜单默认隐藏,然后在单击按钮时使其可见。

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

关于javascript - 在动态位置生成下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158034/

相关文章:

jQueryeach() 闭包 - 如何访问外部变量

javascript - 向 Instagram feed 添加分页或延迟加载

html - 我的导航栏比子元素小

javascript - 在 Node.js cli 中从 Dropbox 下载文件

javascript - 使用 javascript/hmlt5 的类库项目。是否可以?

javascript - asp.net javascript div 隐藏显示不工作

javascript - 为什么我的 css 显示不规则?

javascript - 在数据表ajax调用成功时调用一个函数

jquery - Carousel-Arrows 根据显示的图片改变颜色?

java - 新闻文章 : Write to server disk without PHP?