问题 JQuery-ui对话框跳转到Chrome的页面底部


我正在使用jquery ui(jquery-ui-1.10.3)并且在Chrome中遇到了对话框的问题。

我按以下方式打开对话框:

$('#dialog').dialog({
    width: 400,
    buttons: {
        "save": function() { update(); $( this ).dialog( "close" ); }
    }
});

此对话框是可拖动的。对话框显示完美,但只要我需要拖动它,对话框就会跳/跳到页面底部,即使在滚动下也是如此。这只发生在Chrome中。

也许有人遇到了同样的问题。有任何想法吗?

谢谢


1599
2018-06-20 11:38


起源

你找到了解决这个问题的方法吗?我刚刚从Dialog 1.8.16升级到Dialog 1.10.3,我在Firefox中遇到了同样的问题 - 但不是在Chrome中。 - John Doppelmann
不,还没找到解决方案(你使用的是哪个版本的Firefox和Chrome?我使用chrome版本27.0.1453.116 m和Firefox和Firefox 22.0 - Pavel Zdarov
道歉 - 已经离开了一段时间。我在FF22和Chrome 23.0.1271.95(Linux Ubuntu)上。 - John Doppelmann


答案:


这是jQuery UI 1.10.3中的一个错误 - http://bugs.jqueryui.com/ticket/9315。 也可以标记为dupe jQuery ui对话框拖动问题


7
2017-07-02 14:37



只是阅读这个问题 - 相信这正是我所遇到的。 - John Doppelmann
确保你没有用top / bottom / left / right和position:absolute覆盖Jquery UI对话框的CSS。 - Nilesh Thakkar
这也是我在Firefox和Chrome中的问题。他们最近发布了1.10.4,这似乎解决了这个问题。 - mawburn
1.10.4版本未解决此问题。转到IE8中的演示页面并尝试拖动对话框以查看错误。 - JustinMichaels
我正在使用jqueryui 1.11.0并且有同样的问题。稍后我将尝试使用当前的jquery 1.11.1。上帝知道这是一个我不会深入研究的错误。 - Martin Meeser


这似乎解决了这个问题

html, body {position: relative}

3
2018-05-14 06:00





我已经将父元素(在我的情况下是body标签)的位置设置为静态(它是相对的)并且它修复了问题。

if (isChrome){ document.getElementsByTagName("body")[0].style.position = 'static'; }

当然需要先计算“isChrome”变量。

此外,您还必须检查此更改是否不会破坏现有布局。

希望能帮助到你
安德拉斯


1
2017-09-10 08:09





对我来说,jquery-ui 1.10.1效果很好。 1.10.3中的错误似乎也在1.10.4中。


0
2017-09-30 14:43





它在jQuery UI 1.10.3中不起作用,即使bug说明它已修复。我发现它修复了:jQuery UI 1.11.2,还没试过下面的任何版本。但1.11.2都很好


0
2018-02-05 11:18





尝试

$( "#dialog-confirm" ).dialog({position: 'center',...

使用jquery-ui-1.9.2.custom解决了我的问题


0
2018-05-20 10:02