Files
svelte-carousel/src/utils/event.js
2021-01-23 00:45:50 +03:00

46 lines
1.2 KiB
JavaScript

// start event
export function addStartEventListener(source, cb) {
source.addEventListener('mousedown', cb)
source.addEventListener('touchstart', cb)
}
export function removeStartEventListener(source, cb) {
source.removeEventListener('mousedown', cb)
source.removeEventListener('touchstart', cb)
}
// end event
export function addEndEventListener(source, cb) {
source.addEventListener('mouseup', cb)
source.addEventListener('touchend', cb)
}
export function removeEndEventListener(source, cb) {
source.removeEventListener('mouseup', cb)
source.removeEventListener('touchend', cb)
}
// move event
export function addMoveEventListener(source, cb) {
source.addEventListener('mousemove', cb)
source.addEventListener('touchmove', cb)
}
export function removeMoveEventListener(source, cb) {
source.removeEventListener('mousemove', cb)
source.removeEventListener('touchmove', cb)
}
// resize event
export function addResizeEventListener(cb) {
window.addEventListener('resize', cb)
}
export function removeResizeEventListener(cb) {
window.removeEventListener('resize', cb)
}
export function createDispatcher(source) {
function dispatch(event, data) {
source.dispatchEvent(new CustomEvent(event, {
detail: data
}))
}
return dispatch
}