From 4b53286f6cf9a242aa071532e4454adadfb70f00 Mon Sep 17 00:00:00 2001 From: James Campos Date: Sat, 7 May 2011 12:03:39 -0700 Subject: [PATCH] better text selection prevention --- 4chan_x.js | 12 ++---------- script.coffee | 13 +++---------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/4chan_x.js b/4chan_x.js index 52243900f..9cb79ffa5 100644 --- a/4chan_x.js +++ b/4chan_x.js @@ -179,9 +179,9 @@ }, dragstart: function(e) { var d, el, rect; + e.preventDefault(); ui.el = el = e.target.parentNode; d = document; - d.body.className = 'noselect'; d.addEventListener('mousemove', ui.drag, true); d.addEventListener('mouseup', ui.dragend, true); rect = el.getBoundingClientRect(); @@ -192,6 +192,7 @@ }, drag: function(e) { var bottom, el, left, right, top; + e.preventDefault(); el = ui.el; left = e.clientX - ui.dx; if (left < 20) { @@ -219,7 +220,6 @@ localStorage["" + id + "Left"] = el.style.left; localStorage["" + id + "Top"] = el.style.top; d = document; - d.body.className = ''; d.removeEventListener('mousemove', ui.drag, true); return d.removeEventListener('mouseup', ui.dragend, true); } @@ -2330,14 +2330,6 @@ #watcher > div:last-child {\ padding-bottom: 5px;\ }\ -\ - body.noselect {\ - -webkit-user-select: none;\ - -khtml-user-select: none;\ - -moz-user-select: none;\ - -o-user-select: none;\ - user-select: none;\ - }\ ' }; main.init(); diff --git a/script.coffee b/script.coffee index 87f00f59c..ecde1e7e5 100644 --- a/script.coffee +++ b/script.coffee @@ -99,9 +99,10 @@ ui = (-> el.parentNode.removeChild(el)), true el dragstart: (e) -> + #prevent text selection + e.preventDefault() ui.el = el = e.target.parentNode d = document - d.body.className = 'noselect' d.addEventListener 'mousemove', ui.drag, true d.addEventListener 'mouseup', ui.dragend, true #distance from pointer to el edge is constant; calculate it here. @@ -113,6 +114,7 @@ ui = ui.width = document.body.clientWidth - el.offsetWidth ui.height = document.body.clientHeight - el.offsetHeight drag: (e) -> + e.preventDefault() {el} = ui left = e.clientX - ui.dx if left < 20 then left = '0px' @@ -135,7 +137,6 @@ ui = localStorage["#{id}Left"] = el.style.left localStorage["#{id}Top"] = el.style.top d = document - d.body.className = '' d.removeEventListener 'mousemove', ui.drag, true d.removeEventListener 'mouseup', ui.dragend, true @@ -1830,14 +1831,6 @@ main = #watcher > div:last-child { padding-bottom: 5px; } - - body.noselect { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - } ' main.init()