2010-04-20 80 views
0

我在我的网站上有一些拖放功能,我希望在可拖动元素被点击/开始拖动时突出显示边框颜色中的chage区域。如果点击/或拖动停止,我希望可以droppable元素的边界回到原始状态,我目前有这个代码,但它不能很好地工作。jquery ui拖放显示反馈

$(".drag_check").draggable({helper:"clone", opacity:"0.5"}); 
$(".drag_check").mousedown(function() { 
    $('.searchPage').css("border", "solid 3px #00FF66").fadeIn(1000); 
}); 
$(".drag_check").mouseup(function(){ 
    $('.searchPage').css("border", "solid 3px #E2E5F1").fadeIn(1000); 
}) 
$(".searchPage").droppable({ 
    accept:".drag_check", 
    hoverClass: "dropHover", 
    drop: function(ev, ui) { 
     var droppedItem = ui.draggable.children(); 
     cv_file = ui.draggable.map(function() {//map the names and values of each of the selected checkboxes into array 
      return ui.draggable.children().attr('name')+"="+ui.draggable.children().attr('value'); 
     }).get(); 
     var link = ui.draggable.children().attr('name').substr(ui.draggable.children().attr('name').indexOf("[")+1, ui.draggable.children().attr('name').lastIndexOf("]")-8) 
     $.ajax({ 
      type:"POST", 
      url:"/search", 
      data:ui.draggable.children().attr('name')+"="+ui.draggable.children().val()+"&save=Save CVs", 
      success:function(){ 
       window.alert(cv_file+"&save=Save CVs"); 
       $('.shortList').append('<li><span class="inp_bg"><input type="checkbox" name="remove_cv'+link+'" value="Y" /></span><a href="/cv/'+link+'/">'+link+'</a></li>'); 
       $('.searchPage').css("border", "solid 3px #E2E5F1").fadeIn(1000); 
      }, 
      error:function() { 
       alert("Somthing has gone wrong"); 
      } 
     }); 

    } 
}); 

回答

1

activeClass选项添加到您的.droppable()电话,将其设置为你想要应用的任何类拖动时生效:

$(".searchPage").droppable({ 
    accept:".drag_check", 
    activeClass: "ui-state-hover", 
    hoverClass: "dropHover", 
    // .. 

见jQuery UI的文档进行此功能的演示:

​​