mirror of
https://github.com/pipipi-pikachu/PPTist.git
synced 2025-04-15 02:20:00 +08:00
fix: FireFox 不支持 TouchEvent 的处理
This commit is contained in:
parent
8f0b272224
commit
62c088c067
@ -264,7 +264,7 @@ export default defineComponent({
|
||||
lastPos = { x, y }
|
||||
lastTime = new Date().getTime()
|
||||
|
||||
if (e instanceof TouchEvent) {
|
||||
if (!(e instanceof MouseEvent)) {
|
||||
mouse.value = { x: mouseX, y: mouseY }
|
||||
mouseInCanvas.value = true
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ export default (
|
||||
const { addHistorySnapshot } = useHistorySnapshot()
|
||||
|
||||
const dragElement = (e: MouseEvent | TouchEvent, element: PPTElement) => {
|
||||
const isTouchEvent = e instanceof TouchEvent
|
||||
const isTouchEvent = !(e instanceof MouseEvent)
|
||||
if (isTouchEvent && (!e.changedTouches || !e.changedTouches[0])) return
|
||||
|
||||
if (!activeElementIdList.value.includes(element.id)) return
|
||||
@ -110,8 +110,8 @@ export default (
|
||||
verticalLines = uniqAlignLines(verticalLines)
|
||||
|
||||
const handleMousemove = (e: MouseEvent | TouchEvent) => {
|
||||
const currentPageX = e instanceof TouchEvent ? e.changedTouches[0].pageX : e.pageX
|
||||
const currentPageY = e instanceof TouchEvent ? e.changedTouches[0].pageY : e.pageY
|
||||
const currentPageX = e instanceof MouseEvent ? e.pageX : e.changedTouches[0].pageX
|
||||
const currentPageY = e instanceof MouseEvent ? e.pageY : e.changedTouches[0].pageY
|
||||
|
||||
// 如果鼠标滑动距离过小,则将操作判定为误操作:
|
||||
// 如果误操作标记为null,表示是第一次触发移动,需要计算当前是否是误操作
|
||||
@ -297,8 +297,8 @@ export default (
|
||||
|
||||
alignmentLines.value = []
|
||||
|
||||
const currentPageX = e instanceof TouchEvent ? e.changedTouches[0].pageX : e.pageX
|
||||
const currentPageY = e instanceof TouchEvent ? e.changedTouches[0].pageY : e.pageY
|
||||
const currentPageX = e instanceof MouseEvent ? e.pageX : e.changedTouches[0].pageX
|
||||
const currentPageY = e instanceof MouseEvent ? e.pageY : e.changedTouches[0].pageY
|
||||
|
||||
if (startPageX === currentPageX && startPageY === currentPageY) return
|
||||
|
||||
|
@ -108,7 +108,7 @@ export default (
|
||||
|
||||
// 缩放元素
|
||||
const scaleElement = (e: MouseEvent | TouchEvent, element: Exclude<PPTElement, PPTLineElement>, command: OperateResizeHandlers) => {
|
||||
const isTouchEvent = e instanceof TouchEvent
|
||||
const isTouchEvent = !(e instanceof MouseEvent)
|
||||
if (isTouchEvent && (!e.changedTouches || !e.changedTouches[0])) return
|
||||
|
||||
let isMouseDown = true
|
||||
@ -238,8 +238,8 @@ export default (
|
||||
const handleMousemove = (e: MouseEvent | TouchEvent) => {
|
||||
if (!isMouseDown) return
|
||||
|
||||
const currentPageX = e instanceof TouchEvent ? e.changedTouches[0].pageX : e.pageX
|
||||
const currentPageY = e instanceof TouchEvent ? e.changedTouches[0].pageY : e.pageY
|
||||
const currentPageX = e instanceof MouseEvent ? e.pageX : e.changedTouches[0].pageX
|
||||
const currentPageY = e instanceof MouseEvent ? e.pageY : e.changedTouches[0].pageY
|
||||
|
||||
const x = currentPageX - startPageX
|
||||
const y = currentPageY - startPageY
|
||||
@ -420,8 +420,8 @@ export default (
|
||||
|
||||
alignmentLines.value = []
|
||||
|
||||
const currentPageX = e instanceof TouchEvent ? e.changedTouches[0].pageX : e.pageX
|
||||
const currentPageY = e instanceof TouchEvent ? e.changedTouches[0].pageY : e.pageY
|
||||
const currentPageX = e instanceof MouseEvent ? e.pageX : e.changedTouches[0].pageX
|
||||
const currentPageY = e instanceof MouseEvent ? e.pageY : e.changedTouches[0].pageY
|
||||
|
||||
if (startPageX === currentPageX && startPageY === currentPageY) return
|
||||
|
||||
|
@ -69,8 +69,8 @@ export default (
|
||||
|
||||
// 如果目标元素已被选中,同时也是当前操作元素,那么当目标元素在该状态下再次被点击时,将被设置为多选元素中的激活成员
|
||||
else if (activeGroupElementId.value !== element.id) {
|
||||
const startPageX = e instanceof TouchEvent ? e.changedTouches[0].pageX : e.pageX
|
||||
const startPageY = e instanceof TouchEvent ? e.changedTouches[0].pageY : e.pageY
|
||||
const startPageX = e instanceof MouseEvent ? e.pageX : e.changedTouches[0].pageX
|
||||
const startPageY = e instanceof MouseEvent ? e.pageY : e.changedTouches[0].pageY
|
||||
|
||||
;(e.target as HTMLElement).onmouseup = (e: MouseEvent) => {
|
||||
const currentPageX = e.pageX
|
||||
|
Loading…
x
Reference in New Issue
Block a user