2011-11-10 100 views
0

我试图在删除元素后打开模式窗口。我搜索了电路板,找不到任何东西。这是我迄今为止的,但它不起作用。该项目拖放,因为它应该,但语气不打开:jQuery打开模式下降

 
    $("#table #food li.corn").draggable({ 
      revert: "invalid", 
      hoverClass: "ui-state-active", 
      drop: function(event, ui) { 
       $("#cornDialog").dialog("open"); 
         return false;  
      } 
    }); 
    $("#plate ul").droppable({ 
     hoverClass: "ui-state-active", 
     drop: function(event, ui) { 
      $(this).addClass("ui-state-highlight"); 
     } 
    }); 
    $("#cornDialog").dialog({ 
     autoOpen: false, 
     show: "blind", 
     hide: "slow" 
    }); 

回答

0

尝试移动$("#cornDialog").dialog("open");进入可投放的drop:功能。

像这样:

$("#plate ul").droppable({ 
    hoverClass: "ui-state-active", 
    drop: function(event, ui) { 
     $(this).addClass("ui-state-highlight"); 
     $("#cornDialog").dialog("open"); 
    } 
}); 

编辑:另外,您也可以在拖动实现stop()

$("#table #food li.corn").draggable({ 
     revert: "invalid", 
     hoverClass: "ui-state-active", 
     stop: function(event, ui) { 
      $("#cornDialog").dialog("open"); 
        return false;  
     } 
}); 
+0

虽然这里有问题,但我还有一些其他可拖动的元素,每个元素都需要被丢弃时有自己的对话框。应该提到那个! – jdarling

+0

看我的编辑。你可以在draggable上使用'stop()'。 – fehays

+0

我也考虑过这个问题,但即使有人从特定的放置区域释放拖拽,它也可能欺骗。我需要的模式弹出一次,实际上是放在“可丢弃”区域 – jdarling

0

你想要把你的对话框代码在投掷的下降回调让喜欢本

$("#table #food li.corn").draggable({ 
     revert: "invalid", 
     hoverClass: "ui-state-active", 
     drop: function(event, ui) { 
      $("#cornDialog").dialog("open"); 
        return false;  
     } 
}); 
$("#plate ul").droppable({ 
    hoverClass: "ui-state-active", 
    drop: function(event, ui) { 
     $(this).addClass("ui-state-highlight"); 
     $("#cornDialog").dialog({ 
      autoOpen: false, 
      show: "blind", 
      hide: "slow" 
     }); 
    } 
}); 
+0

嘿谢谢凯尔 - 我试过了。没有萤火虫错误,但模态仍然不会为我打开:( – jdarling