[removed] Click anywhere in body except the one element inside it

前端 未结 4 817
温柔的废话
温柔的废话 2021-02-13 13:43

I want to be able to click anywhere inside the body except that one specific element. I can\'t find out what\'s wrong with the code I have done.

When I click on the one

4条回答
  •  挽巷
    挽巷 (楼主)
    2021-02-13 14:29

    You don't really need any flags to do this. Just listen on body click and do different thing depending on the item clicked (event.target). This code should do exactly what you wanted (based on your code):

    var body = document.getElementById('wrapper');
    var except = document.getElementById('except');
    
    if(body.addEventListener)
      body.addEventListener("click", bodyClick, false);
    else
      body.attachEvent("onclick", bodyClick);
    
    function bodyClick(event){
      if(event.target != except)
        except.style.display = "none";
    }
    

提交回复
热议问题