JSFiddle - React, Tailwind, and code Playground
by tdecs
JavaScript
var Utils = {
contains: function (el1, el2) {
var result;
// el1 es window
if (el1 === window) {
// el2 puede ser window o un elemento del dom
if (el2 && (el2 === window || el2.nodeType)) {
// el1 es window y el2 window o elemento de dom
// como window no tiene el metodo contain, devolvemos siempre true
// (porque contiene todos los elementos de dom)
result = true;
// el2 no es window ni elemento de dom, devolvemos false
} else {
result = false;
}
// el1 es un elemento de dom
} else if (el1 && el1.nodeType) {
result = el1.contains(el2);
// el1 es otra cosa, devolvemos false
} else {
result = false;
}
return result;
}
};
Utils.contains(window, null); // false
Utils.contains({}, {}); // false
Utils.contains([]+[], {}+{}); // false
Utils.contains(window, 0|0); // false