好きな任意のイベントを起動できることはわかって$('#x').trigger('y')
いますが、任意の DOM 要素にバインドでき、リッスンしない限りトリガーされない新しいイベント タイプを作成したいと考えています。
たとえば、次のように作成します。
$('#mydiv').on('wheel', function(e) {
// do something with e
});
「ホイール」は私のカスタムイベントです。「ホイール」がバインドされるとすぐに、実際のイベントをバインドする必要があります。
$(???).on('mousewheel DOMMouseScroll', function(e) {
e.delta = null;
if (e.originalEvent) {
if (e.originalEvent.wheelDelta) e.delta = e.originalEvent.wheelDelta / -40;
if (e.originalEvent.deltaY) e.delta = e.originalEvent.deltaY;
if (e.originalEvent.detail) e.delta = e.originalEvent.detail;
}
$(this).trigger('wheel', e);
});
これを行う方法はありますか?
$(document)
注:ホイール イベントをリッスンする必要はありません。選択した要素だけをリッスンし、イベントがバインドされている場合にのみリッスンする必要があります。