From ad6240a067894b2968eee36112632ff7320dff37 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Mon, 4 Sep 2017 03:02:30 +0200 Subject: [PATCH] Refactor delegating multiple events at once in code.js --- Resources/Scripts/code.js | 47 ++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js index f2ec72d6..2db9438c 100644 --- a/Resources/Scripts/code.js +++ b/Resources/Scripts/code.js @@ -356,10 +356,9 @@ var prevMouseX = -1, prevMouseY = -1; var tooltipTimer, tooltipDisplayed; - $(document.body).delegate("a[data-full-url]", "mouseenter mouseleave mousemove", function(e){ - var me = $(this); - - if (e.type === "mouseenter"){ + $(document.body).delegate("a[data-full-url]", { + mouseenter: function(){ + let me = $(this); let text = me.text(); return if text.charCodeAt(text.length-1) !== 8230; // horizontal ellipsis @@ -380,14 +379,13 @@ tooltipDisplayed = true; }, 400); } - } - else if (e.type === "mouseleave"){ - if ($TDX.expandLinksOnHover){ - let prevText = me.attr("td-prev-text"); - - if (prevText){ - me.text(prevText); - } + }, + + mouseleave: function(){ + let me = $(this); + + if (me[0].hasAttribute("td-prev-text")){ + me.text(me.attr("td-prev-text")); } window.clearTimeout(tooltipTimer); @@ -396,10 +394,11 @@ tooltipDisplayed = false; $TD.displayTooltip(null, false); } - } - else if (e.type === "mousemove"){ + }, + + mousemove: function(e){ if (tooltipDisplayed && (prevMouseX !== e.clientX || prevMouseY !== e.clientY)){ - $TD.displayTooltip(me.attr("data-full-url"), false); + $TD.displayTooltip($(this).attr("data-full-url"), false); prevMouseX = e.clientX; prevMouseY = e.clientY; } @@ -472,19 +471,20 @@ return media.filter(item => !item.isAnimatedGif).map(item => item.entity.media_url_https+":small").join(";"); }; - app.delegate("section.js-column", "mouseenter mouseleave", function(e){ - if (e.type === "mouseenter"){ + app.delegate("section.js-column", { + mouseenter: function(){ if (!highlightedColumnObj){ updateHighlightedColumn($(this)); } - } - else if (e.type === "mouseleave"){ + }, + + mouseleave: function(){ updateHighlightedColumn(null); } }); - app.delegate("article.js-stream-item", "mouseenter mouseleave", function(e){ - if (e.type === "mouseenter"){ + app.delegate("article.js-stream-item", { + mouseenter: function(){ let me = $(this); return if !me[0].hasAttribute("data-account-key") || (!highlightedColumnObj && !updateHighlightedColumn(me.closest("section.js-column"))); @@ -502,8 +502,9 @@ else{ updateHighlightedTweet(me, tweet, "", "", "", ""); } - } - else if (e.type === "mouseleave"){ + }, + + mouseleave: function(){ updateHighlightedTweet(null, null, "", "", "", ""); } });