首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery每个函数并拖放jquery

问jquery每个函数并拖放jquery
EN

Stack Overflow用户
提问于 2019-09-27 20:01:38
回答 2查看 80关注 0票数 0

为什么当我拖放2 " android“时,在#docs中有3”我希望每个android在#dz“中有1里?当我掉下3等等..。

代码语言:javascript
复制
    $("#dz").droppable({
        accept: ".systeme",
        drop: function(e, ui) {
            $(ui.draggable).clone().appendTo($("#dz"));
            setTimeout(function(){

                $("#dz .android").each(function() {
                    $("#docs").append("<li>i want one li for each android inside #dz</li>");
                }, 10);
              });
        }

https://codepen.io/Cyril29/pen/dybLaam

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-27 20:15:52

因为你添加了,“我想在#dz中为每个安卓系统安装一里”。

当你在#dz中已经有了一个" android“的时候,已经有了一个”我要在#dz中为每个android安装一个i“。

当你放下第二个"Android“$("#dz .android").each() 2次调用2次(在1次中添加了2新的)

解决方案1:

代码语言:javascript
复制
drop: function(e, ui) {
      $(ui.draggable).clone().appendTo($("#dz"));
      setTimeout(function(){
        $("#docs").empty() // remove all elements in #docs 
        $("#dz .android").each(function() {
          $("#docs").append("<li>i want one li for each android inside #dz</li>");
        }, 10);
      });
    }

解决方案2:

代码语言:javascript
复制
drop: function(e, ui) {
      $(ui.draggable).clone().appendTo($("#dz"));
      setTimeout(function(){
          $("#docs").append("<li>i want one li for each android inside #dz</li>");
      });
    }
票数 0
EN

Stack Overflow用户

发布于 2019-09-27 20:18:52

这是因为您使用$each函数循环通过$("#dz .android")。

首先出现一个li元素,因为只有一个.android要循环。

在第二次尝试中,第一个li 仍然存在,并且您已经拖了另一个。现在,$("#dz .android")中存在着两个。

因此,每个循环会触发两次,这将创建另外两个li。因此,现在有3个list元素。

在第三个可拖放的事件中,创建了3个li,并将其添加到现有的3个中,因此总共有6个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58140741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档