useClickOutside

A function that calls a callback when a click event is triggered outside of a given container element.

Demo

Has not clicked yet

Usage

	<script lang="ts">
  import { box, useClickOutside } from "runed";
 
  const container = box<HTMLDivElement | null>(null);
 
  useClickOutside(container, () => {
    console.log("clicked outside of container");
  });
</script>
 
<main>
  <div bind:this={container.value}>Container</div>
  <button>Click Me</button>
</main>	

You can also programmatically pause and resume useClickOutside using the start and stop functiosn returned by useClickOutside.

	<script lang="ts">
  import { box, useClickOutside } from "runed";
 
  const container = box<HTMLDivElement | null>(null);
 
  const outsideClick = useClickOutside(container, () => {
    console.log("clicked outside of container");
  });
</script>
 
<main>
  <button onclick={outsideClick.stop}>Stop listening for outside clicks</button>
  <button onclick={outsideClick.start}>Start listening again</button>
  <div bind:this={container.value}></div>
</main>	
MIT

© 2024 Svecosystem Team