亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在兩個列表之間進行單向拖放

在兩個列表之間進行單向拖放

明月笑刀無情 2023-09-28 17:27:43
我正在使用從 jQuery UI 獲得的以下 JS 代碼:將項目從一個列表移動到另一個列表:$("#list-one, #list-two").sortable({                    connectWith: '.connectedSortable',                    start: function () {                        sender = $(this);                        recvok = false;                    },                    over: function () {                        recvok = ($(this).not(sender).length != 0);                    },                    stop: function () {                        if (!recvok)                            $(this).sortable('cancel');                    }                }).disableSelection();此代碼允許從第一個列表拖放到第二個列表,反之亦然。我只想拖放以一個方向工作,從第一個列表到第二個列表。這可能嗎?任何幫助將不勝感激。謝謝。
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

你只需更改屬性 connectWith: 這里我拒絕從 list2 拖動到 list1 ..


  $("#list-one, #list-two").sortable({

                    connectWith: '#list-two',

                    start: function () {

                        sender = $(this);

                        recvok = false;

                    },

                    over: function () {

                        recvok = ($(this).not(sender).length != 0);

                    },

                    stop: function () {

                        if (!recvok)

                            $(this).sortable('cancel');

                    }

                }).disableSelection();

<!doctype html>

<html>

<head>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>jQuery UI Sortable - Connect lists</title>

  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

  <link rel="stylesheet" href="/resources/demos/style.css">

  <style>

  #sortable1, #sortable2 {

    border: 1px solid #eee;

    width: 142px;

    min-height: 20px;

    list-style-type: none;

    margin: 0;

    padding: 5px 0 0 0;

    float: left;

    margin-right: 10px;

  }

  #sortable1 li, #sortable2 li {

    margin: 0 5px 5px 5px;

    padding: 5px;

    font-size: 1.2em;

    width: 120px;

  }

  </style>

  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>

  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>


</head>

<body>

 

<ul id="list-one" class="connectedSortable">

  <li class="ui-state-default">Item 1</li>

  <li class="ui-state-default">Item 2</li>

  <li class="ui-state-default">Item 3</li>

  <li class="ui-state-default">Item 4</li>

  <li class="ui-state-default">Item 5</li>

</ul>

 

<ul id="list-two" class="connectedSortable">

  <li class="ui-state-highlight">Item 1</li>

  <li class="ui-state-highlight">Item 2</li>

  <li class="ui-state-highlight">Item 3</li>

  <li class="ui-state-highlight">Item 4</li>

  <li class="ui-state-highlight">Item 5</li>

</ul>

 

 

</body>

</html>

另一個解決方案是防止第二個列表上的 mousedown 事件,但您無法重新排序列表


  $('#list-two li').mousedown(function(event){

   event.preventDefault();

   event.stopPropagation();

  });


  $("#list-one, #list-two").sortable({

                    connectWith: '.connectedSortable',

                    start: function () {

                        sender = $(this);

                        recvok = false;

                    },

                    over: function () {

                        recvok = ($(this).not(sender).length != 0);

                    },

                    stop: function () {

                        if (!recvok)

                            $(this).sortable('cancel');

                    }

                }).disableSelection();

<!doctype html>

<html>

<head>

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>jQuery UI Sortable - Connect lists</title>

  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

  <link rel="stylesheet" href="/resources/demos/style.css">

  <style>

  #sortable1, #sortable2 {

    border: 1px solid #eee;

    width: 142px;

    min-height: 20px;

    list-style-type: none;

    margin: 0;

    padding: 5px 0 0 0;

    float: left;

    margin-right: 10px;

  }

  #sortable1 li, #sortable2 li {

    margin: 0 5px 5px 5px;

    padding: 5px;

    font-size: 1.2em;

    width: 120px;

  }

  </style>

  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>

  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>


</head>

<body>

 

<ul id="list-one" class="connectedSortable">

  <li class="ui-state-default">Item 1</li>

  <li class="ui-state-default">Item 2</li>

  <li class="ui-state-default">Item 3</li>

  <li class="ui-state-default">Item 4</li>

  <li class="ui-state-default">Item 5</li>

</ul>

 

<ul id="list-two" class="connectedSortable">

  <li class="ui-state-highlight">Item 1</li>

  <li class="ui-state-highlight">Item 2</li>

  <li class="ui-state-highlight">Item 3</li>

  <li class="ui-state-highlight">Item 4</li>

  <li class="ui-state-highlight">Item 5</li>

</ul>

 

 

</body>

</html>


查看完整回答
反對 回復 2023-09-28
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號