我的网站上有一些拖放功能,当点击/开始拖动时,我想要突出显示边框颜色变化的可放置区域。如果单击/或拖动停止我希望droppable元素的边框更改回其origianl状态,我目前有这个代码,但它不能很好地工作。
$(".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");
}
});
}
});
答案 0 :(得分:1)
将activeClass
选项添加到.droppable()
调用,将其设置为拖动处于活动状态时要应用的任何类:
$(".searchPage").droppable({
accept:".drag_check",
activeClass: "ui-state-hover",
hoverClass: "dropHover",
// ..
有关此功能的演示,请参阅jQuery UI文档: