node.contains(otherNode)返回的是一个布尔值,来表示传入的节点(otherNode)是否为该节点(node)的子孙节点.
// 判断元素是否body元素且是否是body的子孙元素.
function isInPage(node) {
return (node === document.body) ? false : document.body.contains(node);
}
一般用在弹出菜单的关闭, 通过contains判断点击元素是否是菜单本身或在菜单内, 如果不在其内那么表示要关闭菜单。
浏览器兼容:IE9+,移动端完美兼容。