在拖放元素上滚动在 IE9 中创建行

Posted

技术标签:

【中文标题】在拖放元素上滚动在 IE9 中创建行【英文标题】:Scrolling create rows in IE9 on drag & drop elements 【发布时间】:2017-07-12 06:01:51 【问题描述】:

https://jsfiddle.net/hjcsnrs3/1/

我创建了上面的小提琴来解释我的问题。我正在使用 jQuery 可排序的水平拖放元素。在 Chrome/FF 中运行良好。但是在 IE,尤其是 IE9 中,每当我拖动元素时,它都会下降到下一行。每个拖放都会创建新行。

$( function() 
  $( "#sortable" ).sortable(
    items: "> div",
    opacity: 0.8,
    placeholder: "placeholder",
    tolerance: "pointer",
    helper: "original",
    revert: true,
    axis: "x"
  );
  $( "#sortable" ).disableSelection();
);

【问题讨论】:

您可能需要考虑使用替代暂存解决方案,因为 jsfiddle 不支持 IE9,如果结果甚至不显示,我将无法测试/调试结果。 我怀疑这实际上可能是跨浏览器 CSS 问题 无法复制您的问题,即使在 IE8 上使用 jquery-ui-1.12.1...也许您错过了小提琴中的某些内容?只是问问。 放弃对 IE9 的支持 正如@deblocker 前面提到的,这个问题在我们的系统中是不可重现的。我已经安装了具有 ie 7 的新虚拟 win xp 并在其上测试了您的代码。令人惊讶的是它在 ie7 中完美运行 【参考方案1】:

我在每个版本的 IE 上制作了一个本地副本。它在除 IE5 之外的所有版本中都能正常工作。 IE5 与您提到的问题相同。

CSS element>element Selector 支持 IE7 以下。 要在 IE8 及更早版本中使用 element>element,必须声明 <!DOCTYPE>

改成:

#sortable >div  float: left; 

到:

.ui-sortable-handlefloat:left;

Updates Fiddle

【讨论】:

以上是关于在拖放元素上滚动在 IE9 中创建行的主要内容,如果未能解决你的问题,请参考以下文章

C#在拖放时实现ListView中的自动滚动

android在拖放时滚动

在拖放项目期间滚动项目

如何在拖放源中创建 Dojo onDrop 事件

jQueryUI:在拖放元素上限制容器高度

HTML5 DnD - 为啥在拖放元素后重影图像只能按预期工作?