1

我们有某种仪表板,在 iframe 中有几个剑道窗口。

当用户将窗口拖动到母 iframe 边缘之外并取消拖动(释放左键)时,窗口会粘住并跟随鼠标指针。

$('<div/>').appendTo ('#div_widget').kendoWindow ({
    actions: ["Refresh", "Maximize", "Minimize"],
    height : 300,
    width  : 600,
    title  : "drag me outside jsFiddle iframe - I'll stick to mouse",
    iframe : true,
    content: "http://kendoui.com",
});

http://jsfiddle.net/XYXyj/8/

这很烦人,因为我们的用户不擅长精确瞄准。

看起来我需要一种将鼠标释放事件传递给子 iframe 的方法。

你能建议任何解决方法吗?还有其他防止“粘性”行为的想法吗?

4

1 回答 1

1

以下怎么样:http: //jsfiddle.net/vojtiik/8CjVM/2/

$("#wrap").mouseleave(function(){
    $('#div_widget').trigger('mouseup');
});

添加一些包装器,一旦用户离开 iframe 触发 mouseup 事件。iframe 的大小可以动态确定并传播回您的包装器。

注意:在您的小提琴(和我的)中,chrome 会抛出“Blocked a frame with origin..” - iframe 从未插入,因此我对高度/宽度值进行了硬编码 - 您将拥有此动态,以查看小提琴在您的屏幕,更改高度/宽度。

于 2013-07-23T12:23:36.200 回答