Prevent nearby text selection on inline svg click

432 Views Asked by At

When using an inline SVG as a clickable element, clicking it twice may select nearby text.

How can this be prevented without forcing user-select on all nearby elements?

.wrap {
  height: 100px;
}
.icon {
  height: 100%;
  pointer-events: bounding-box;
  cursor: pointer;
}
<div class="wrap">
  <svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136 136">
    <defs/>
    <path fill="none" stroke="rgb(160,70,255)" stroke-width="3" d="M68 134.43A66.43 66.43 0 101.5 68 66.46 66.46 0 0068 134.43zM123.77 68H12.23M68 12.3v111.41"/>
  </svg>
</div>
<div class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>

1

There are 1 best solutions below

1
Rmaxx On BEST ANSWER

Is this what you mean? ( Added user-select: none; )

.wrap {
  height: 100px;
    -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

}
.icon {
  height: 100%;
  pointer-events: bounding-box;
  cursor: pointer;
}
<div class="wrap">
  <svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136 136">
    <defs/>
    <path fill="none" stroke="rgb(160,70,255)" stroke-width="3" d="M68 134.43A66.43 66.43 0 101.5 68 66.46 66.46 0 0068 134.43zM123.77 68H12.23M68 12.3v111.41"/>
  </svg>
</div>
<div class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>