【问题标题】:jQuery draggable - Dragging a div that contains an iframe and svgjQuery 可拖动 - 拖动包含 iframe 和 svg 的 div
【发布时间】:2011-12-19 20:37:06
【问题描述】:

我正在尝试拖动包含使用 google 可视化 JavaScript 库创建的仪表小部件的 div。该库在位于表格内的 iframe 内创建一个 svg。

我有一个包含整个内容的 div,我希望能够拖动它。 问题是 iframe 似乎正在捕获鼠标点击,它们从不冒泡到 div,因此不会触发拖动。有谁知道如何手动触发可拖动事件?我尝试用“mousedown”触发它,但这不起作用。

其他人有这个问题吗?

谢谢。

【问题讨论】:

    标签: jquery draggable


    【解决方案1】:

    想到几件事:

    1) 如果您的 div 折叠(使用萤火虫查看计算的高度/宽度)有时会发生在浮动元素上,那么您的“可拖动区域”实际上可能不存在。即使父元素折叠,子元素也可以显示出来。尝试为父容器设置显式高度/宽度。

    2) 可能是因为您使用了特殊的子元素。在这种情况下,一个潜在的解决方法是:创建一个与父级具有相同高度/宽度的子 div,并将其定位设置为绝对,并创建一个大的 z-index 将其放在顶部。这基本上在整个容器的顶部放置了一个“层”。我不确定您将如何使用 .draggable() 函数将新的顶层图层用作可拖动区域,因为您还想拖动整个父级。如果您将 .draggable() 添加到这个新层,它只会单独拖动该层。

    一个简单的解决方案:为该窗口创建一个“标题栏”,并将 CSS 光标属性设置为该可移动图标(不确定语法)。然后你的用户知道抓住标题栏来拖动它。

    不确定这是否有帮助......

    【讨论】:

    • 嗨,迈克,感谢您的回复。 div 不会折叠,但似乎 iframe 正在捕获鼠标点击,它们永远不会冒泡到 div,因此不会触发拖动。有谁知道如何手动触发可拖动事件?我尝试用“mousedown”触发它,但这不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2021-09-16
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    相关资源
    最近更新 更多