0

我的网站上有一些拖放功能,我想在单击/开始拖动可拖动元素时突出显示可拖放的区域,并改变边框颜色。如果单击/或拖动停止,我希望可放置元素的边框变回其原始状态,我目前有此代码,但它不能很好地工作。

    $(".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");
            }
        });

    }
});
4

1 回答 1

1

activeClass选项添加到您的.droppable()呼叫中,将其设置为您希望在拖动处于活动状态时应用的任何类:

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

有关此功能的演示,请参阅 jQuery UI 文档:

http://jqueryui.com/demos/droppable/#visual-feedback

于 2010-04-20T10:01:22.603 回答