Как удалить элемент, который вытащен из списка? - PullRequest
13 голосов
/ 23 февраля 2012

вот простой вопрос.У меня есть 'ul', который я сделал сортируемым с помощью функции sortable () jquery-ui.Я хочу удалить элементы, когда они перетаскиваются из списка.Способ, которым я это реализовал, работает в том смысле, что когда я перетаскиваю элемент из списка, он удаляется, но он также удаляется, когда я просто переставляю список.Как мне добиться поведения, которое я ищу, без этого непреднамеренного поведения.Ниже приведен весь код:

<html>
<head>
    <link type="text/css" href="jquery-ui/css/ui-lightness/jquery-ui-1.8.17.custom.css" rel="Stylesheet" /> 
    <script type="text/javascript" src="jquery-ui/js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="jquery-ui/js/jquery-ui-1.8.17.custom.min.js"></script>

    <script type="text/javascript">
    $(function(){
        $('#sortme').sortable({
            out: function(event, ui){
                ui.item.remove();
            }
        });
        $('#sortme').disableSelection();
    });
    </script>

    <style>
    li{
        list-style-type: none;
        width: 200px;
        height: 50px;
        border: 1px solid #000;
        text-align: center;
        box-sizing: border-box;
        padding-top: 15px;
    }
    </style>
    <title> jqui sort test </title>

</head>
<body>
    <ul id='sortme'>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>
</body>
</html>

Спасибо за помощь!

Ответы [ 2 ]

25 голосов
/ 24 февраля 2012

Вы можете попробовать использовать переменную, чтобы проверить, перетаскивается ли перетаскиваемый элемент из его родительского контейнера.

Вы можете использовать over и out * 1006.* события пользовательского интерфейса jQuery сортируются, чтобы присвоить значение этой переменной, а затем выполнить удаление перетаскиваемого элемента в событии beforeStop .

здесь приведена демонстрация того, что я придумалас: http://jsfiddle.net/drewP/m7VJq/1/

дайте мне знать, если это работает для вас.

0 голосов
/ 23 февраля 2012

Я уверен, что есть более одного правильного способа сделать это, но если бы мне пришлось это сделать, я бы, вероятно, использовал бы элемент-обертку как dropable. Почему бы не основной контейнер сайта, всемогущий #wrapper! Привязать к событию drop выпадающего предмета и полностью удалить предмет. Это не останется в сортируемом либо.

...