当我告诉它时,拖拽不会禁用

时间:2013-03-16 00:52:01

标签: javascript jquery jquery-ui livequery

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可拖动的初始化但当我尝试重新启用draggable时使用

handDrag(true);

它不会重新启用拖动。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

语法如下:

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

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

下次调用handDrag(true);

时,您可能还需要启用它
if(dragHand ==true)
{
    $('img.playerCardsHand').draggable( "enable" );
    // etc