diff --git a/4chan_x.user.js b/4chan_x.user.js index 764c4ff2a..78a68da09 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -1746,10 +1746,10 @@ continue; } link = $.el('a', { - href: '#' + id, className: 'backlink', textContent: '>>' + id }); + link.setAttribute('data-href', '#' + id); if ($.config('Quote Preview')) { $.bind(link, 'mouseover', quotePreview.mouseover); $.bind(link, 'mousemove', ui.hover); @@ -1879,6 +1879,8 @@ if (!quote.hash) { continue; } + quote.setAttribute('data-href', quote.href); + quote.removeAttribute('href'); $.bind(quote, 'mouseover', quotePreview.mouseover); $.bind(quote, 'mousemove', ui.hover); $.bind(quote, 'mouseout', ui.hoverend); @@ -1886,15 +1888,17 @@ } return _results; }, - mouseout: function() { - var el; - if (!(el = d.getElementById(this.hash.slice(1)))) { - return; + mouseout: function(e) { + var el, id; + id = this.hash.slice(1); + this.removeAttribute('href'); + if (el = d.getElementById(id)) { + return $.removeClass(el, 'qphl'); } - return $.removeClass(el, 'qphl'); }, mouseover: function(e) { var el, id, qp, quote, replyID, threadID, _i, _len, _ref, _ref2; + this.href = this.dataset.href; id = this.hash.slice(1); qp = $('#qp'); if (el = d.getElementById(id)) { @@ -2544,6 +2548,9 @@ cursor: pointer;\ }\ \ + .backlink, .quotelink {\ + text-decoration: underline;\ + }\ .new {\ background: lime;\ }\ diff --git a/script.coffee b/script.coffee index 62feecd3d..7a5d9d8eb 100644 --- a/script.coffee +++ b/script.coffee @@ -1395,9 +1395,9 @@ quoteBacklink = for qid, quote of quotes continue unless el = d.getElementById qid link = $.el 'a', - href: '#'+id className: 'backlink' textContent: '>>'+id + link.setAttribute 'data-href', '#'+id if $.config 'Quote Preview' $.bind link, 'mouseover', quotePreview.mouseover $.bind link, 'mousemove', ui.hover @@ -1480,14 +1480,21 @@ quotePreview = node: (root) -> for quote in $$ 'a.quotelink, a.backlink', root continue unless quote.hash + # XXX this needs a globalEval (wtf?) on firefox 6.0a2 / scriptish + # quote.dataset.href = quote.href + quote.setAttribute 'data-href', quote.href + quote.removeAttribute 'href' $.bind quote, 'mouseover', quotePreview.mouseover $.bind quote, 'mousemove', ui.hover $.bind quote, 'mouseout', ui.hoverend $.bind quote, 'mouseout', quotePreview.mouseout - mouseout: -> - return unless el = d.getElementById @hash[1..] - $.removeClass el, 'qphl' + mouseout: (e) -> + id = @hash[1..] + @.removeAttribute 'href' + if el = d.getElementById id + $.removeClass el, 'qphl' mouseover: (e) -> + @href = @dataset.href id = @hash[1..] qp = $ '#qp' if el = d.getElementById id @@ -1954,6 +1961,9 @@ main = cursor: pointer; } + .backlink, .quotelink { + text-decoration: underline; + } .new { background: lime; }