文章上的所有事件:onMouseMove、onMouseDown 等都正確執行。但 onClick 沒有。我可以看到按鈕,但點擊它沒有任何反應。
按鈕顯示
const onDelete = () => {
console.log('delete')
};
return (
<>
{show &&
<Ul style={{top: pos.y, left: pos.x}}>
<Li>
<Button onClick={onDelete}>
<Trash /> Delete
</Button>
</Li>
</Ul>
}
<Article ref={ref} onContextMenu={onRightClick}
onMouseMove={onMouseMove} onMouseDown={onMouseDown} onMouseUp={onMouseUp} onMouseLeave={onMouseLeave}
>
{children}
</Article>
</>
);
如果我將括號中的代碼移動到文章內部,onClick 會被觸發,但 Ul 的樣式無法正常作業。我有其他組件可以正確執行事件在括號內。但出于某種原因,這個組件只執行在事件條。
uj5u.com熱心網友回復:
嘗試這個:
onClick={() => onDelete()}
uj5u.com熱心網友回復:
我找到了答案。當我在按鈕外部單擊時(使用 ref),我還有另一個函式會關閉該按鈕。但是當我點擊按鈕時,該功能被觸發,因為我使用了相同的參考。我只需要使用另一個參考并作業!!!
useClickOutside(ref2, () => setShow(false));
const onDelete = () => {
console.log("delete");
};
return (
<>
{show &&
<Ul style={{top: pos.y, left: pos.x}}>
<Li>
<Button ref={ref2} onClick={onDelete}>
<Trash /> Delete
</Button>
</Li>
</Ul>
}
<Article ref={ref} onContextMenu={onRightClick}
onMouseMove={onMouseMove} onMouseDown={onMouseDown} onMouseUp={onMouseUp} onMouseLeave={onMouseLeave}
>
{children}
</Article>
</>
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/333477.html
標籤:javascript 反应 点击
上一篇:AndroidStudioPreview看起來很模糊
下一篇:反應排序在第一次嘗試時不起作用
