diff --git a/src/canvas/index.ts b/src/canvas/index.ts index 47ad5203a..5eec3359c 100644 --- a/src/canvas/index.ts +++ b/src/canvas/index.ts @@ -470,14 +470,15 @@ export default class CanvasModule extends Module { * @private */ getMouseRelativePos(e: any, opts: any = {}) { - var addTop = 0; - var addLeft = 0; - var subWinOffset = opts.subWinOffset; - var doc = e.target.ownerDocument; - var win = doc.defaultView || doc.parentWindow; - var frame = win.frameElement; - var yOffset = subWinOffset ? win.pageYOffset : 0; - var xOffset = subWinOffset ? win.pageXOffset : 0; + const subWinOffset = opts.subWinOffset; + const doc = e.target.ownerDocument; + const win = doc.defaultView || doc.parentWindow; + const frame = win.frameElement; + const yOffset = subWinOffset ? win.pageYOffset : 0; + const xOffset = subWinOffset ? win.pageXOffset : 0; + const zoomMlt = this.getZoomMultiplier(); + let addTop = 0; + let addLeft = 0; if (frame) { var frameRect = frame.getBoundingClientRect(); @@ -486,8 +487,8 @@ export default class CanvasModule extends Module { } return { - y: e.clientY + addTop - yOffset, - x: e.clientX + addLeft - xOffset, + y: (e.clientY + addTop - yOffset) * zoomMlt, + x: (e.clientX + addLeft - xOffset) * zoomMlt, }; } diff --git a/src/commands/view/Resize.ts b/src/commands/view/Resize.ts index 5df162e2d..07f429d2b 100644 --- a/src/commands/view/Resize.ts +++ b/src/commands/view/Resize.ts @@ -10,7 +10,7 @@ export default { appendTo: canvas.getResizerEl(), prefix: editor.getConfig().stylePrefix, posFetcher: canvasView.getElementPos.bind(canvasView), - mousePosFetcher: canvas.getMouseRelativePos, + mousePosFetcher: canvas.getMouseRelativePos.bind(canvas), ...(opt.options || {}), }; let { canvasResizer } = this; diff --git a/src/selector_manager/model/Selector.ts b/src/selector_manager/model/Selector.ts index d13a2966c..38b957f87 100644 --- a/src/selector_manager/model/Selector.ts +++ b/src/selector_manager/model/Selector.ts @@ -179,7 +179,7 @@ export default class Selector extends Model { * @private */ static escapeName(name: string) { - return `${name}`.trim().replace(/([^a-z0-9\w-\:@]+)/gi, '-'); + return `${name}`.trim().replace(/([^a-z0-9\w-\\:@\\/]+)/gi, '-'); } }