我有一个使用 DataTables 库创建的动态表,在表的每一行中都有一个按钮,单击该按钮会打开一个下拉菜单。我想使用 jQuery 动态创建菜单,但遇到了不知道要在哪里附加代码的问题。
有没有办法将代码附加到触发函数的位置或 div?
目前我最好的解决方案是获取触发按钮的 X 坐标并在这些坐标处创建菜单。
表格项目的 HTML 和所需结果的示例。
<td><button type="button" onclick="buttonClick(event)"><img src="assets/actionMenu.png"></button></td>
最佳答案
所以看起来您正在尝试仅使用 jQuery 来制作我通常所说的上下文菜单
。如果可用的话,最好使用包来处理这些问题(原因我将在下面解释),但在这种情况下,如果您通过 jQuery 自己创建它,我认为最简单的答案是最好的答案:在模板中的按钮,以便它存在于每一行中。您可以使菜单默认隐藏,然后在单击按钮时使其可见。
这不是一个完美的解决方案,您必须在 JS 中管理菜单的隐藏/显示,并确保每行菜单的 CSS 看起来正确。您还可能需要处理边缘情况,例如,如果菜单在最后一行打开:该行下方是否有足够的空间来显示整个菜单?你必须让它“下降”而不是“下降”吗?等等
关于javascript - 在动态位置生成下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158034/