- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含 iframe 的 jquery-ui 模式弹出窗口。它的名称是这样的:
$("#modalDiv").dialog({
modal: true,
autoOpen: false,
height: '400',
width: '400',
position: ['150', '200'],
draggable: true,
resizable: false,
title: 'Loading...'
});
$('#modalIFrame').attr('src', url);
$('#modalDiv').dialog('open');
问题是拖动模态框非常粗略。我知道这基本上是由于 iframe 拦截了拖动事件。我正在尝试实现“iframeFix”解决方案,但它似乎不起作用。我目前从弹出窗口中这样调用它:
window.parent.$("#modalDiv").draggable("option", "iframeFix", true);
我还通过这两种方式从父页面尝试过:
$("#modalDiv").draggable("option", "iframeFix", true);
$("#modalIFrame").draggable("option", "iframeFix", true);
运气不好。
最佳答案
我不确定 iframeFix 是如何工作的,但这是我目前使用的解决方案。我添加了bug report在 jQuery UI 网站上,他们似乎正在为 jQuery UI 的下一个版本进行此工作。
我注意到您的对话框指定它不可调整大小,因此以下内容应该可以解决您的问题。如果您需要可调整大小的对话框,则需要将 dialogdragstart
替换为 dialogdragstartdialogresizestart
,同样将 dialogdragstop
替换为 dialogdragstopdialogresizestop
.
$("#modalDiv")
.dialog({
modal : true,
autoOpen : false,
height : 400,
width : 400,
position : [ 150, 200 ],
draggable: true,
resizable: false,
title : 'Loading...'
})
.bind('dialogdragstart', function() {
var overlay = $(this).find('.hidden-dialog-overlay');
if (!overlay.length) {
overlay = $('<div class="hidden-dialog-overlay" style="position:absolute;top:0;left:0;right:0;bottom:0;z-order:100000;"></div>');
overlay.appendTo(this);
}
else
overlay.show();
})
.bind('dialogdragstop', function() {
$(this).find('.hidden-dialog-overlay').hide();
});
关于jquery iframeFix 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525164/
我对 jQuery Draggable IFrameFix 有一个小问题。我有一个容器(如下所示),里面有一个 iframe。我在可拖动设置中打开了 iframeFix,但它没有改变任何东西。谁有同样
我有一个包含 iframe 的 jquery-ui 模式弹出窗口。它的名称是这样的: $("#modalDiv").dialog({ modal: true,
这有点难以解释,所以我在这里设置了一个简化的测试用例:http://jsfiddle.net/5Z6h6/1/ 。本质上,我将 jQuery UI 的 .draggable 传递给 iFrame 的内
我是一名优秀的程序员,十分优秀!