[O] Use non-destructive method of setting event listeners

This commit is contained in:
Hykilpikonna
2021-12-11 18:14:05 -05:00
parent 17cc91aae3
commit db05744f5b
2 changed files with 7 additions and 5 deletions
+4 -2
View File
@@ -67,14 +67,16 @@ export default class MyColorPicker extends Vue
const el = this.$refs.window as HTMLElement const el = this.$refs.window as HTMLElement
let lastX = e.clientX, lastY = e.clientY let lastX = e.clientX, lastY = e.clientY
document.onmouseup = () => {document.onmousemove = null; document.onmouseup = null} const mousemove = (e: MouseEvent) =>
document.onmousemove = (e) =>
{ {
const dx = lastX - e.clientX, dy = lastY - e.clientY const dx = lastX - e.clientX, dy = lastY - e.clientY
lastX = e.clientX; lastY = e.clientY lastX = e.clientX; lastY = e.clientY
el.style.left = (el.offsetLeft - dx) + 'px' el.style.left = (el.offsetLeft - dx) + 'px'
el.style.top = (el.offsetTop - dy) + 'px' el.style.top = (el.offsetTop - dy) + 'px'
} }
const mouseup = () => {document.removeEventListener('mouseup', mouseup); document.removeEventListener('mousemove', mousemove)}
document.addEventListener('mouseup', mouseup)
document.addEventListener('mousemove', mousemove)
} }
@Emit('updatePalette') @Emit('updatePalette')
+3 -3
View File
@@ -1,6 +1,6 @@
<template> <template>
<div id="Projects"> <div id="Projects">
<ColorPicker v-model:color="color"></ColorPicker> <MyColorPicker v-model:color="color"></MyColorPicker>
<button @click="log"></button> <button @click="log"></button>
</div> </div>
</template> </template>
@@ -10,10 +10,10 @@ import {Options, Vue} from 'vue-class-component';
import MyColorPicker from "@/views/color/ColorPicker.vue"; import MyColorPicker from "@/views/color/ColorPicker.vue";
import {Color} from "three"; import {Color} from "three";
@Options({components: {ColorPicker: MyColorPicker}}) @Options({components: {MyColorPicker}})
export default class Projects extends Vue export default class Projects extends Vue
{ {
color = new Color('#ffffff') color = '#ffffff'
log(): void log(): void
{ {