jQuery UI - iframe 内的菜单

Posted

技术标签:

【中文标题】jQuery UI - iframe 内的菜单【英文标题】:jQuery UI - menu inside iframe 【发布时间】:2018-06-06 22:49:06 【问题描述】:

当用户在元素上按下鼠标右键时,我正在使用 jQuery UI 菜单小部件来显示上下文菜单。不幸的是,这个菜单元素在 iframe 内,并且 iframe 很小,所以扩展菜单被 iframe 剪切。有没有办法在不剪切元素的情况下在 iframe 上方显示菜单?不幸的是,我有大型复杂的软件,很难将 html 中的菜单元素移到 iframe 之外。

【问题讨论】:

一些可运行的代码 sn-p 会有所帮助。 能否提供一些示例代码或链接? 如果上下文菜单必须来自 iframe,那么我怀疑它会很简单。请参阅 (***.com/questions/12299808/…)。我们需要查看一些代码以了解您要执行的操作,以便我们找到一些解决方法。 【参考方案1】:

我在 HTML 中有以下结构。

<iframe src="whatever">
<div id="rowMenu">
</div>
</iframe>

在我的 javascript 文件中,我从 jQuery UI 库调用 menu() 函数:

$("div#rowMenu).menu(
    menus:  "div.rowMenu",
).css(
    "padding-top": 10,
    "border-radius": "0px 10px 10px",
    "box-shadow": "3px 3px 3px #444",
    position:   "absolute"
).show();

问题是因为这个 iframe 太小了,当我展开菜单时,它被剪掉了,它的整体不可见。有没有办法强制该菜单显示在 iframe 上方?

【讨论】:

以上是关于jQuery UI - iframe 内的菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 访问不同域中 iframe 内的 div 元素

使用jquery获取iframe内的元素属性

jquery 在 iframe 内的 IE 中不工作 其他浏览器正常工作

jquery 调用子窗口函数

从 iframe 关闭 jQuery UI 对话框

jquery下拉菜单