根据jquery中删除的元素调用函数?

时间:2013-04-13 11:02:47

标签: jquery drag-and-drop

大家好我有一个拖放功能,在那里我称之为数据绑定的功能

   function droppable(selector)
   {
      $("#dock").droppable({
         drop: function(event, ui) {
              var container=this; 
          GetAppender(ui.draggable,container);
           AppendData();
         }
        });
    }

    GetAppender(obj,container)
    {
       var Appender=""; 
       var ID= $(obj).attr('id');   
            switch(ID){
            case '1':
            $(container).append('<div id="images"></div>');
            break;
           case '2':
            $(container).append('<div id="tabs"></div>');
            } 
          //there may be several cases not only these two    

    }

    function AppendData()
    {
      if($('#images').length){ loadimages();}
      if($('#tabs').length){ loadimages();}
      //there are several funcitons to be loaded
    }

以上是我的拖放功能我在这里使用我的关注是当我放下并且图像并且它转换到案例1的开关案例并将该div添加到掉落的区域..然后在我的drop funciton中有AppendData()函数,我检查元素长度,如果有一个div与图像id我执行loadimages函数

之后如果我首先删除图像并且在我的追加数据中,因为图像div的长度存在,这个方法被执行             if($('#images')。length){loadimages();}

当我删除另一个标签时,现在问题开始已经有一个图像长度的div,所以当我放弃其他一个条件的长度满足并且我的函数AppendData()中的两个方法都被执行...可以任何一个请帮我解决这个问题..

1 个答案:

答案 0 :(得分:0)

我不确定你的问题是什么,因为我的命题是如此基本......

也许只使用else语句:

function AppendData()
{
  if($('#images').length){ loadimages();}
  else if($('#tabs').length){ loadimages();}
  //there are several funcitons to be loaded
}

或更好:

function AppendData()
    {
      if($('#images').length || $('#tabs').length){ loadimages();}
    }