事件后保存变量

时间:2011-07-24 14:54:51

标签: jquery jquery-ui

有人可以解释一下,为什么这不起作用: http://jsfiddle.net/4nzYr/

<ul>
    <li class="draggable">hello</li>
    <li class="draggable">how are you today</li>
</ul>

和..

  $(function(){
        $('.draggable').draggable({axis: 'y', start: function (event, ui){var dragged=true}})
            if (dragged == true){$('<p>super</p>').appendTo($('.draggable'))}
            })

我预计会添加新段落。而且对于更多我希望有可能使用变量拖动到其他操作。

1 个答案:

答案 0 :(得分:1)

页面加载时,您只调用一次此代码。这将永远不会被追加,因为拖动后代码永远不会再次运行。

if (dragged == true){
    $('<p>super</p>').appendTo('li');
}

您需要另一个事件来粘贴此代码块。另请注意,拖动现在已在draggable的start委托之外定义。例如:

$(function() {
    var dragged = false;

    $('.draggable').draggable({
        axis: 'y',
        start: function (event, ui) {
            dragged = true;
        }
    });

    $('#checkButton').click(function() {
        if (dragged == true){
            $('<p>super</p>').appendTo('li');
        }
    });
});