jQueryのカスタムイベントを定義するとき

$(selector).on('myevent');

のように指定すると思うのですが、
例えばclickイベントはすべてのセレクターに対してon('click')できますよね。

しかし、上記の方法だと特定のセレクターに対してしかイベントを発火させることができません。

何か方法があれば教えてください。よろしくお願いします。

例えば、このような場合です。

var flag = 0;

$(window).on(
{
  'mousedown': function()
  {
    flag = 1;
  },
  'mousemove': function()
  {
    if (flag === 1) flag = 2;
  },
  'mouseup': function()
  {
    if (flag == 2)
    {
      // ドラッグ終了時のイベント追加
      $(window).trigger('dragend');
    }

    flag = 0;
  }
});

// $(window)に対してのみ使える
$(window).on('dragend', function()
{
  console.log('ドラッグ終了');
});

// こんな風に色々な要素に適用させたい
$('.element').on('dragend', function()
{
  console.log('.elementのドラッグ終了');
});
$('#element').on('dragend', function()
{
  console.log('#elementのドラッグ終了');
});

このように色々な要素のドラッグを検知したいのですが、どのように記述すればよいのか分かりません。