Javascript 点击div之外任何地方,隐藏div

2014-01-27 · 3 min read

这段通用的代码用在:点击 ID=XX 的某元素,执行某些语句;点击除了 ID=XX 之外的任何元素,执行另外的代码。兼容所有浏览器且易于扩展。

document.onclick = function (event) {
  var e = event || window.event
  var elem = e.srcElement || e.target

  while (elem) {
    if (elem != document) {
      if (elem.id == '目标ID') {
        show()
        return
      }
      elem = elem.parentNode
    } else {
      hide()
      return
    }
  }
}

大概功能:点击“目标 ID”,执行 show(),点击其他任何地方,执行 hide(),由此可以扩展。。。