on master help sign in
2 space indent and idempotent preventInputEvents
b5eaf0fMichael James
runtime/Debugger.js+33−30
@@ -203,44 +203,47 @@ function debugModule(module, runtime) {
203
203
204 function preventInputEvents(){
204 function preventInputEvents(){
205 var events =
205 var events =
206− [ "click", "mousemove", "mouseup", "mousedown", "mouseclick"
206+ [ "click", "mousemove", "mouseup", "mousedown", "mouseclick"
207− , "keydown", "keypress", "keyup", "touchstart", "touchend"
207+ , "keydown", "keypress", "keyup", "touchstart", "touchend"
208− , "touchcancel", "touchleave", "touchmove", "pointermove"
208+ , "touchcancel", "touchleave", "touchmove", "pointermove"
209− , "pointerdown", "pointerup", "pointerover", "pointerout"
209+ , "pointerdown", "pointerup", "pointerover", "pointerout"
210− , "pointerenter", "pointerleave", "pointercancel"
210+ , "pointerenter", "pointerleave", "pointercancel"
211− ];
211+ ];
212
212
213 var ignore = function(e) {
213 var ignore = function(e) {
214− var evt = e ? e : window.event;
214+ var evt = e ? e : window.event;
215− if (evt.stopPropagation) {
215+ if (evt.stopPropagation) {
216− evt.stopPropagation();
216+ evt.stopPropagation();
217− }
217+ }
218− if (evt.cabcelBubble !== null) {
218+ if (evt.cabcelBubble !== null) {
219− evt.cabcelBubble = true;
219+ evt.cabcelBubble = true;
220− }
220+ }
221− if (evt.preventDefault) {
221+ if (evt.preventDefault) {
222− evt.preventDefault();
222+ evt.preventDefault();
223− }
223+ }
224− return false;
224+ return false;
225 };
225 };
226
226
227+ var ignoringDiv = document.getElementById("elmEventIgnorer");
228+ if (!ignoringDiv) {
227− var blackHole = document.createElement("div");
229+ ignoringDiv = document.createElement("div");
228− blackHole.id = "elmEventIgnorer";
230+ ignoringDiv.id = "elmEventIgnorer";
229− blackHole.style.position = "absolute";
231+ ignoringDiv.style.position = "absolute";
230− blackHole.style.top = "0px";
232+ ignoringDiv.style.top = "0px";
231− blackHole.style.left = "0px";
233+ ignoringDiv.style.left = "0px";
232− blackHole.style.width = "100%";
234+ ignoringDiv.style.width = "100%";
233− blackHole.style.height = "100%";
235+ ignoringDiv.style.height = "100%";
234−
236+
235− for (var i = events.length; i-- ;) {
237+ for (var i = events.length; i-- ;) {
236− blackHole.addEventListener(events[i], ignore, true);
238+ ignoringDiv.addEventListener(events[i], ignore, true);
239+ }
240+ runtime.node.appendChild(ignoringDiv);
237 }
241 }
238− runtime.node.appendChild(blackHole);
239 }
242 }
240
243
241 function permitInputEvents(){
244 function permitInputEvents(){
242− var blackHole = document.getElementById("elmEventIgnorer");
245+ var ignoringDiv = document.getElementById("elmEventIgnorer");
243− blackHole.parentNode.removeChild(blackHole);
246+ ignoringDiv.parentNode.removeChild(ignoringDiv);
244 }
247 }
245
248
246 return {
249 return {