diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue index abb9574f3..795a826c7 100644 --- a/src/components/VnTable/VnTable.vue +++ b/src/components/VnTable/VnTable.vue @@ -216,7 +216,7 @@ onBeforeMount(() => { }); onMounted(async () => { - if ($props.isEditable) document.addEventListener('click', clickHandler); + if ($props.isEditable) document.addEventListener('mousedown', mousedownHandler); document.addEventListener('contextmenu', (event) => { event.preventDefault(); contextMenuRef.value.handler(event); @@ -243,7 +243,7 @@ onMounted(async () => { }); onUnmounted(async () => { - if ($props.isEditable) document.removeEventListener('click', clickHandler); + if ($props.isEditable) document.removeEventListener('mousedown', mousedownHandler); document.removeEventListener('contextmenu', {}); }); @@ -392,7 +392,7 @@ function hasEditableFormat(column) { if (isEditableColumn(column)) return 'editable-text'; } -const clickHandler = async (event) => { +const mousedownHandler = async (event) => { const clickedElement = event.target.closest('td'); const isDateElement = event.target.closest('.q-date'); const isTimeElement = event.target.closest('.q-time'); @@ -415,6 +415,7 @@ const clickHandler = async (event) => { } if (isEditableColumn(column)) { + event.preventDefault(); await renderInput(Number(rowIndex), colField, clickedElement); } };