diff --git a/components/lib/datatable/TableBody.js b/components/lib/datatable/TableBody.js index 368d38effd..2a86b36dff 100644 --- a/components/lib/datatable/TableBody.js +++ b/components/lib/datatable/TableBody.js @@ -592,15 +592,12 @@ export const TableBody = React.memo( const onRowMouseDown = (e) => { const { originalEvent: event } = e; - if (!isUnstyled() && DomHandler.hasClass(event.target, 'p-datatable-reorderablerow-handle')) { - event.currentTarget.draggable = true; - event.target.draggable = false; - } else if (isUnstyled() && DomHandler.getAttribute(event.target, 'data-pc-section') === 'rowreordericon') { - event.currentTarget.draggable = true; - event.target.draggable = false; - } else { - event.currentTarget.draggable = false; - } + const isDraggableHandle = isUnstyled() + ? DomHandler.getAttribute(event.target, 'data-pc-section') === 'rowreordericon' || event.target.closest('[data-pc-section="rowreordericon"]') + : DomHandler.hasClass(event.target, 'p-datatable-reorderablerow-handle') || event.target.closest('.p-datatable-reorderablerow-handle'); + + event.currentTarget.draggable = isDraggableHandle; + event.target.draggable = !isDraggableHandle; if (allowRowDrag(e)) { enableDragSelection(event, 'row');