jQueryのtriggerについて
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のドラッグ終了');
});
このように色々な要素のドラッグを検知したいのですが、どのように記述すればよいのか分かりません。