我在页面上垂直有几个UL.它们是使用jQueryUI的sortable()设置的.我的现场例子是:

http://jsfiddle.net/GVqPF/2/

我可以从答案中拖出来使其成为问题的最后一个元素.但是当我从问题拖到答案时,占位符会跳转到问题列表中的第二个项目.那时我可以将它拖到顶部.但我不能直接拖到答案列表中的第一个位置.

Here is a video证明了这个问题.

我有这个问题的原因从上面的列表拖到下面列表的第一个元素?

我已经尝试编辑列表和可排序项目的填充和边距.

谢谢,
丹尼斯

解决方法

这是我对这种奇怪行为的观察和合理解释.

当将一个元素从问题容器移动到答案容器时,占位符最初会将自己添加到答案容器的末尾,然后进一步将光标移动到answer1和answer2之间.理想情况下,这不应该发生,因为占位符应该在answer1之前跳转然后在answer1和answer2.
* PS:*此效果可能在jsfiddle窗口中不可见,但如果您使用给定代码构建一个新的HTML页面,您将看到我在说什么.

进一步调查显示可排序的jquery UI插件中存在错误.
获取jquery.ui.sortable.js的开发人员版本,找到这个短语“var dist = 10000; var itemWithLeastdistance = null”.
这段代码的目的是在光标从一个容器移动到另一个容器时找出最近的元素.

观察变量“cur”(我已经为firebug添加了console.log()命令).此变量的值始终为0.由于cur的值始终为’0′,因此代码认为错误地计算了最后的< li> element作为’itemWithLeastdistance’并错误地跳转到那里.

//When entering a new container,we will find the item with the least distance and append our item near it 
                var dist = 10000; var itemWithLeastdistance = null; var base = this.positionAbs[this.containers[innermostIndex].floating ? 'left' : 'top'];
                for (var j = this.items.length - 1; j >= 0; j--) {
                    if (!$.ui.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])) continue;
                    var cur = this.items[j][this.containers[innermostIndex].floating ? 'left' : 'top'];
                    //my comments
                    console.log("cur : %s for iteration: %s has base %s",cur,j,base);
                    if (Math.abs(cur - base) < dist) {
                        dist = Math.abs(cur - base); itemWithLeastdistance = this.items[j];
                        //my comments
                        console.debug(this.items[j]);
                    }
                }

让我知道社区的想法.我们可以向jquery ui团队报告.

如何使用jQueryUI Sortable从连接的垂直列表拖动到下面另一个列表的第一项?的更多相关文章

  1. ios – 符合通用协议的结构类型,其关联类型也是协议

    在结构中,我想…是的,您可以使用AnySorter类型在DataHandler中保留属性.例如,对于一个人为的例子,我们可以让sortedItems成为一个计算属性,利用AnySorter实例对存储的项目列表进行排序(当然,实际上我们不希望对每个调用进行重新排序,但是仅适用于此示例!

  2. angular-ui-sortable实现可拖拽排序列表

    这篇文章主要介绍了angular-ui-sortable实现可拖拽排序列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. jQuery-ui插件sortable实现自由拖动排序

    这篇文章主要为大家详细介绍了jQuery-ui插件sortable实现自由拖动排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. jQueryUI Sortable 应用Demo(分享)

    下面小编就为大家带来一篇jQueryUI Sortable 应用Demo(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. 浅谈laravel-admin的sortable和orderby使用问题

    今天小编就为大家分享一篇浅谈laravel-admin的sortable和orderby使用问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  6. element-ui 表格sortable排序手动js清除方式

    这篇文章主要介绍了element-ui 表格sortable排序手动js清除方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. jquery ui sortable拖拽后保存位置

    这篇文章主要为大家详细介绍了jquery ui sortable拖拽后保存位置的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  8. 通过jquery-ui中的sortable来实现拖拽排序的简单实例

    下面小编就为大家带来一篇通过jquery-ui中的sortable来实现拖拽排序的简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  9. jQuery UI Draggable + Sortable 结合使用(实例讲解)

    下面小编就为大家带来一篇jQuery UI Draggable + Sortable 结合使用(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. angular – 如何在PrimeNG数据表中使用模板

    我有一个非常基本的问题,我无法自己回答,因为大多数链接到http://www.primefaces.org/primeng不再有效.我也尝试注册他们的论坛,但他们的激活邮件永远不会到来.我使用Angular2并拥有一个包含两列的数据表:filename和status.我想要更改的状态列.它现在保持1到4的数字,我想根据状态显示一个glyphicon.我现在有这个,这是有效的:我试过这个,只是为了测

随机推荐

  1. jquery-plugins – 是否可以使用猫头鹰旋转木马实现循环/无限轮播?

    我正在使用猫头鹰旋转木马,它的工作完美,除了它不支持循环/无限滚动.我没有搜索google和stackoverflow的想法,没有运气.有没有人在猫头鹰旋转木马上实现圆形/无限滚动?

  2. jQuery动态输入字段焦点

    我想使用以下jQuery向我的页面动态添加一个输入字段:在这样做之后,我希望输入字段具有闪烁的文本光标的焦点,所以我想在创建后立即输入.有人可以告诉我我该怎么办?

  3. jquery – 为什么$(window).height()这样错了?

    我试图获取当前浏览器的视口高度,使用但我得到的价值观太低了.当视口高度高达850px时,我从height()获取大约350或400像素的值.这是怎么回事?

  4. jquery – 如果在此div之外和其他draggables内部(使用无效和有效的还原选项),则可拖动恢复

    例如这样但是由于明显的原因,这不行.我可以说这个吗?

  5. 创建一个jQueryUI 1.8按钮菜单

    现在jQueryUI1.8已经出来了,我正在浏览更新,并且遇到了新的Buttonwidget,特别是SplitButtonwithadropdown的演示之一.这个演示似乎表明Buttonwidget可以在这里创建一个下拉菜单.作为讨论的问题,我想知道使用这个新的Button小部件来创建一个下拉菜单有什么方法.干杯.解决方法您必须在按钮下方列出一个列表,方式类似于此处为自动完成提供的演示:http

  6. 灰色divs使用JQuery

    我试图使用这个代码:为了淡出一大堆名为MySelectorDiv的div,唯一的是,它只会淡出第一个而不是所有的div,为什么呢?

  7. 使用jQuery动态插入到列表中

    我有两个订单列表在彼此旁边.当我从一个列表中选出一个节点时,我想按照字母顺序插入到另一个列表中.抓住的是我想要把一个元素放在另一个列表中,而不刷新整个列表.奇怪的是,当我插入到右边的列表中,它工作正常,但是当我插入到左边的列表中时,顺序永远不会出来.我也尝试将所有内容读入数组,并将其排序在一起,以防止children()方法没有按照显示顺序返回任何东西,但是我仍然得到相同的结果.这是我的jQuer

  8. 没有回应MediaWiki API使用jQuery

    我试图从维基百科获取一些内容作为JSON:但我没有回应.如果我粘贴到浏览器的地址栏,就像我得到预期的内容.怎么了?解决方法您需要通过添加&callback=?来触发具有$.getJSON()的JSONP行为?在querystring上,像这样:Youcantestithere.没有使用JSONP,你正在击中same-originpolicy,阻止XmlHttpRequest获取任何数据.

  9. jQuery Ajax请求每30秒

    我有这段代码,但是有些人在我的网站上的值可能会改变.我需要每30秒钟更新一次#financediv.这可以做吗解决方法您可以将代码放在单独的函数中,如下所示:然后每30秒建立一个定时器调用该函数:祝你好运!总结以上是DEVMAX为你收集整理的jQueryAjax请求每30秒全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  10. jquery – keypress事件在IE和Chrome中不工作,但在FF工作

    任何想法为什么会这样发生?我通常认为Chrome会更加宽容代码?这是我的按键键.我错过了什么吗?右图();和leftimage();是应该工作的功能,因为我在其他地方使用这些功能谢谢您的帮助!

返回
顶部