|
|
|
|
|
|
|
|
const utils = { |
|
|
const utils = { |
|
|
|
|
|
isElement:function(el){ |
|
|
|
|
|
// Code based on... |
|
|
|
|
|
// https://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object |
|
|
|
|
|
try { |
|
|
|
|
|
// Using W3 DOM2 (works for FF, Opera and Chrome) |
|
|
|
|
|
return obj instanceof HTMLElement; |
|
|
|
|
|
} catch(e) { |
|
|
|
|
|
// Browsers not supporting W3 DOM2 don't have HTMLElement and |
|
|
|
|
|
// an exception is thrown and we end up here. Testing some |
|
|
|
|
|
// properties that all elements have (works on IE7) |
|
|
|
|
|
return (typeof obj==="object") && |
|
|
|
|
|
(obj.nodeType===1) && |
|
|
|
|
|
(typeof obj.style === "object") && |
|
|
|
|
|
(typeof obj.ownerDocument ==="object"); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
debounce:function(func, delay){ |
|
|
debounce:function(func, delay){ |
|
|
var timeout = null; |
|
|
var timeout = null; |
|
|
return function(){ |
|
|
return function(){ |