0

JS:

function handDrag(dragHand)
{
    if(dragHand ==true)
    {
        //live query to auto bind the drag function to all elements of the cardsHand class even auto generated ones
        $('#playerHand') 
            .livequery('mouseenter', function(e){
            $('img.playerCardsHand').draggable
                ({ 
                    zIndex: 1000, 
                    revert: 'invalid',
                    stack: '.playerCardsHand',
                    selectedCard: 'widget',
                    addClasses: 'false',
                    disabled : false
                 }); 
            });
    }
    else
    {
        $('img.playerCardsHand').draggable({ disabled: true });
    }
}

function swapCards()
{
    handDrag(true);
}

function ready()
{
    handDrag(false);
}

基本上我调用 swapCards() 我希望能够在屏幕上拖动我的卡片并将它们放下。

然后我点击就绪,它调用了 ready() 方法。然后我希望我的卡片不再是可拖动的。

但是现在它使它们保持可拖动。我已经尝试删除 disabled: false 到 swapCards 可拖动初始化但是当我这样做时,当我尝试使用重新启用可拖动时

handDrag(true);

它不会重新启用拖动。

有任何想法吗?

4

1 回答 1

0

语法如下所示:

$('img.playerCardsHand').draggable( "disable" );

http://api.jqueryui.com/draggable/#method-disable

您可能还需要在下次调用 handDrag(true); 时启用它;

if(dragHand ==true)
{
    $('img.playerCardsHand').draggable( "enable" );
    // etc
于 2013-03-16T01:03:43.037 回答