2b1aedbeabcbd667f019a274104f0ac9b9abedb4 chmalee Fri Oct 10 11:32:12 2025 -0700 Change gear icon event handlers from mouseenter/mouseleave to pointerenter/pointerleave to catch subtle event handler differences between Chrome and Firefox, refs #34420 diff --git src/hg/js/utils.js src/hg/js/utils.js index 3170d0a20d0..8ea41015446 100644 --- src/hg/js/utils.js +++ src/hg/js/utils.js @@ -3873,35 +3873,35 @@ e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); const clickEvent = new MouseEvent("click", { bubbles: true, cancelable: true, view: window, clientX: tdBtn.getBoundingClientRect().left + 15, clientY: tdBtn.getBoundingClientRect().top, button: 1, }); tdBtn.children[0].dispatchEvent(clickEvent); }); let tdp = tdBtn.querySelector("p.btn"); if (tdp) { - span.addEventListener("mouseenter", (e) => { + span.addEventListener("pointerenter", (e) => { // trigger a mouseover on the actual btn dragReorder.buttonMouseOver.call(tdp, e); }); - span.addEventListener("mouseleave", (e) => { + span.addEventListener("pointerleave", (e) => { dragReorder.buttonMouseOut.call(tdp, e); }); } } } // add an 'x' icon in the label area to hide the track let tdSide = document.getElementById("td_side_" + id); if (tdSide) { // mouseover event fires if you stop moving the mouse while still // hovering the element and then move it again, don't make // duplicate btns in that case if (!document.getElementById("close_btn_" + id)) { let btn = document.createElement("span"); btn.id = "close_btn_" + id;