8cdfd0efc540471112f850be74da7b87a8bd9b1e
chmalee
  Fri May 8 13:48:54 2026 -0700
Fix zoom to exon/codon option not appearing for genePreds/bigGenePreds/bigBeds. This broke because of tooltip code that now moves tooltip text into a data-tooltip attribute instead of leaving the text in the title attribute, refs #37521

diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index faf1f7b5ee4..cd10f06316e 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -3719,31 +3719,31 @@
             title = title.split("<br>")[0].split("</b>")[1];
         }
         // for older UCSC genes tracks, the protein name is forced onto the item name
         if (title.search(/&hgg_prot=/) !== -1) {
             title = title.split("&hgg_prot=")[0];
         }
         return title;
     },
 
     // when "exonNumbers on", the mouse over text is not a good item description for the right-click menu
     // "exonNumbers on" is the default for genePred/bigGenePred tracks but can also be actived for bigBed and others
     // We don't have the value of the tdb variable "exonNumbers" here, so just use a heuristic to see if it's on
     mouseOverToExon: function(title)
     {
         var exonNum = 0;
-        var exonRe = /(Exon) ([1-9]+) /;
+        var exonRe = /(Exon) (\d+) /;
         var matches = exonRe.exec(title);
         if (matches !== null && matches[2].length > 0)
             exonNum = matches[2];
         return exonNum;
     },
 
     load: function (img)
     {
         rightClick.menu = img.contextMenu(function() {
             popUp.cleanup();   // Popup box is not getting closed properly so must do it here
             if ( ! rightClick.selectedMenuItem )  // This is literally an edge case so ignore
                 return;
 
             var o; // TODO: Break this giant routine with shared vars into some sub-functions
             var str;