如何禁用特定 div 外的点击

Ami*_*wal 2 html javascript jquery

这是示例代码。我想禁用搜索 ID 之外的点击。就像我们需要在弹出窗口中禁用外部点击一样

<body>
You can search <a href="google.com">here</a>
<div id="search">
Search
<input type="text" name=search><button>search</button> 
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

小智 6

您可以创建一个跨越整个屏幕的固定位置的 div,并将您希望能够在其中单击的内容放置在其中,从而使该元素外的所有单击实际上都位于该“空”div 上。

.disable-outside-clicks {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.enabled-clicks {
  width: 200px;
  margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <button>This button will not work</button>
</div>

<div class="disable-outside-clicks">
  <div class="enabled-clicks">
    <button>This button will work</button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)


Zen*_*noo 3

您可以将:not()CSS 选择器与.preventDefault()JS 功能结合使用:

$('*:not(#search)').click(function(e){
  e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://google.com">I don't work !</a>
<div id="search"></div>
Run Code Online (Sandbox Code Playgroud)