begoreSend

更新日: 2018-02-09

begoreSend

send処理終了時に、元のグリッドに対してトリガーされます。 (grid.send()メソッドが呼び出さた後、 またはアイテムが別のグリッドにドラッグされた時にトリガーされます。)
このイベントは、別グリッドへ移動するアイテムを、 一時コンテナ(grid.send()メソッドのオプションで定義したoptions.appendTo)に追加する前に何らかの操作をする必要がある場合に非常に便利です。 (例えばアイテムのサイズを固定化する等。)


パラメータ

data.item: Muuri.Item
移動したアイテム
data.fromGrid: Muuri
アイテムの移動前のグリッド。
data.fromIndex: number
アイテムの移動前のインデックス。
data.toGrid: Muuri
アイテムの移動先のグリッド。
data.toIndex: number
アイテムの移動先のインデックス。

grid.on('beforeSend', function (data) {
  console.log(data);
});

デモ

grid1のアイテム1をgrid2の末尾に移動し、 beforeSendイベントを呼び出し、console.logを出力します。

アイテム1
アイテム2
アイテム3
アイテム4
アイテム5
アイテム6

JavaScript

var gridA = new Muuri('.grid1');
var gridB = new Muuri('.grid2');
gridA.on('send', function (data) {
  console.log('send');
});
gridA.send(0, gridB, -1);

HTML

<div class="grid1">
  <div class="item">
    <div class="item-content">
      アイテム1
    </div>
  </div>
  <div class="item">
    <div class="item-content">
      アイテム2
    </div>
  </div>
  <div class="item">
    <div class="item-content">
      アイテム3
    </div>
  </div>
</div>
 
<div class="grid2">
  <div class="item">
    <div class="item-content">
      アイテム4
    </div>
  </div>
  <div class="item">
    <div class="item-content">
      アイテム5
    </div>
  </div>
  <div class="item">
    <div class="item-content">
      アイテム6
    </div>
  </div>
</div>

CSS

.grid1,
.grid2 {
  position: relative;
}
 
.item {
  display: block;
  position: absolute;
  width: 100px;
  height: 100px;
  margin: 5px;
  z-index: 1;
  color: #000;
  border: 1px solid #000;
}
 
.item-content {
  position: relative;
  width: 100%;
  height: 100%;
}


© 2015 Haltu Oy. Licensed under the MIT license

このコンテンツはHaltuによるMuuriドキュメントを翻訳/改変したものです。