簡體   English   中英

反應按鈕 onClick 引用 SVG 而不是事件

[英]React button onClick referencing SVG and not the event

我正在嘗試將按鈕的值傳遞給 function,但是當單擊按鈕時,事件來自 SVG 而不是來自按鈕本身,當我單擊邊緣右側的按鈕時,ZCD15A3475C2603F0649A 不是目前事件正常觸發。 如何使 SVG 在 onClick 中被忽略? 我希望事件來自按鈕,而不是來自 SVG。 我正在使用 Font Awesome 並通過 React 庫導入圖標。

JSX:

 <button className="btn-vote" value={site._id} name="1" onClick={handleVote}>{upSVG} 
 </button>

CSS:

.btn-vote {
  font-size: 1.9vw;
  background: none;
  border: none;
  height: 100%;
  width: 50%;
}

你有一個事件浮出水面,看這里 - https://stackoverflow.com/questions/35914680/how-to-call-stoppropagation-in-reactjs,

function App () {
  const handleVote = e => console.log(e)

  const stopPropagation = e => e.stopPropagation()
  return (
    <div className='App'>
      <MyComponent />
      <button
        className='btn-vote'
        value={'fdsdfsd'}
        name='1'
        onClick={handleVote}
      >
        <i onClick={stopPropagation} className='fab fa-500px'></i>
      </button>
    </div>
  )
}

upSVG使用 css 屬性 pointer-events ,然后單擊按鈕時將忽略它。

   pointer-events: none;

希望它能解決您的問題。

否則,您可以像這樣調用 function 來停止傳播。

<svg onClick={e=> e.stopPropagation(); }/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM