jQuery UIのソート可能なリストがあります。私はそれをモバイルデバイス上で動作させようとしています。タッチパンチの回避策を使用しました。スクロールするには、ソート可能な関数を非アクティブ化する必要があります。これを行い、リスト要素のタフォールドでソート可能な関数をアクティブにします。それは問題なく動作していますが、問題は、要素を並べ替えることができるようにタポールドに置いておきたいことです。今度は、このようにしか動作しません。要素(タポールドストップ)を止めてから、再度ソートする必要があります。Jquery UIでソート可能な、携帯用のドラッグアンドドラッグ
HTMLコード:
<ul class="list-group" id="wrapper">
<li class="list-group-item">Block 1</li>
<li class="list-group-item">Block 2</li>
<li class="list-group-item">Block 3</li>
<li class="list-group-item">Block 4</li>
<li class="list-group-item">Block 5</li>
<li class="list-group-item">Block 6</li>
<li class="list-group-item">Block 7</li>
<li class="list-group-item">Block 8</li>
<li class="list-group-item">Block 9</li>
<li class="list-group-item">Block 10</li>
<li class="list-group-item">Block 11</li>
<li class="list-group-item">Block 12</li>
<li class="list-group-item">Block 13</li>
<li class="list-group-item">Block 14</li>
<li class="list-group-item">Block 15</li>
<li class="list-group-item">Block 16</li>
<li class="list-group-item">Block 17</li>
<li class="list-group-item">Block 18</li>
<li class="list-group-item">Block 19</li>
<li class="list-group-item">Block 20</li>
<li class="list-group-item">Block 21</li>
<li class="list-group-item">Block 22</li>
<li class="list-group-item">Block 23</li>
</ul>
JSコード:ここ
$('#wrapper li').on('taphold', function(event, ui) {
$("#wrapper li").removeClass('selected');
$("#wrapper").sortable({disabled:false});
$(this).addClass('selected');
});
$("#wrapper").sortable({disabled:true,containment: "parent"});
$("#wrapper").on("sortupdate", function(event, ui) {
$("#wrapper").sortable({disabled:true});
});
は、例jsfiddle(https://jsfiddle.net/3cygah12/)です。
誰でもこの問題の解決方法を知っていますか?
あなたはタッチイベント(http://www.javascriptkit.com/javatutors/touchevents.shtml)を実装する必要があります。しかし、ネット上でたくさんの例を見つけることができます。しかし、あなたはy軸上で作業しているので、あなたが設定する前に少なくとも1秒間タイマーを設定する必要があります(無効:偽)。スクロールしてアイテムをドラッグすると瞬間的になり、問題が発生する可能性があります。 – Tasos
私はすでにそれを行っています。タップルやタッチスタートなどでドラッグを開始することができます。ソート可能にすることはできますが、関数が終了すると要素をドラッグできます。このタポールド(タッチスタート) - >ソート可能 - >タポールド(タッチスタート)ドラッグすることができます。 – Shile
ええ、私はそれがどのように機能するのか知っています。私はあなたのQを見たときに私の携帯電話で試しました。私はJSタッチイベントについて何を意味するのかを見るためにX軸のアイテムをドラッグするために、それを逆にしてY軸だけで作業して、ジョブができるかどうかを調べることができます - http://stackoverflow.com/questions/29966181/jquery-touchswipe-event-on-element-prevents-scroll/29969575#29969575 – Tasos