Html 点击React链接防止href
我有一个带有href和onClick函数的链接Html 点击React链接防止href,html,reactjs,preventdefault,Html,Reactjs,Preventdefault,我有一个带有href和onClick函数的链接 <a href={menuItem.url} onClick={e => { var checkedItems = document.querySelectorAll("input:checked") as NodeListOf<HTMLInputElement>; for (let i = 0; checkedItems[i]; i++) { checkedItems[i].checked
<a href={menuItem.url} onClick={e => {
var checkedItems = document.querySelectorAll("input:checked") as NodeListOf<HTMLInputElement>;
for (let i = 0; checkedItems[i]; i++) {
checkedItems[i].checked = false;
}
window.location.href = menuItem.url; }}>
但是这些似乎都不起作用。一个解决方案是在
内部添加一个新的“内部元素”,例如
为了使此方法起作用,它假设(非jsx)的框边界(外边界)之间没有填充,以演示一般思想
希望有帮助 有人问了一个类似的问题。试着让你的onclick
函数处理程序返回false
。我也试过了,似乎不起作用。我把日志放在onClick中,它没有被执行
e.stopPropagation();
e.preventDefault();
e.nativeEvent.stopImmediatePropagation();
return false;
<a href={menuItem.url}>
<span onClick={e => {
// Intercepts and prevents the event from propagating up to the parent <a>
e.stopPropagation();
// Your existing logic for the onClick event
var checkedItems = document.querySelectorAll("input:checked") as NodeListOf<HTMLInputElement>;
for (let i = 0; checkedItems[i]; i++) {
checkedItems[i].checked = false;
}
window.location.href = menuItem.url;
}}> The text label for your link </span>
</a>