javascript - 使用reactjs在Safari中滚动页面后单击事件不起作用
问题描述
当我单击链接时,它将向上滚动到页面而不是触发实际的 onClick 事件并打开另一个页面...
我的 ReactJs 代码:
<a
href={HELP_URL}
className={s.supportLink}
target="_blank"
rel="noopener noreferrer"
onClick={() => handleFAQClick({ onPageStepChange, location })}
>
FAQs
</a>
它应该按照“href”中提到的链接在新选项卡中打开一个新页面。
解决方案
添加event.preventDefault()
到您的 javascript 代码中。
尝试这样的事情:
function handleFAQClick() {
event.preventDefault(); //<-- If you remove this, your link will try to send you to another page by default.
//Your code...
//E.g. alert:
alert("It works!");
}
<a href="" className="" target="_blank" rel="noopener noreferrer" onClick="handleFAQClick()">
FAQs
</a>
推荐阅读
- vue.js - Nuxt 默认布局,在运行 dev 时移除组件,
- algorithm - 这个程序的时间复杂度是 O(nlgn) 吗?
- html - 引导图标未在按钮中对齐
- javascript - 如何越过最后一个元素并回到 JS 中数组的开头?
- angular - 垫表标题不是全尺寸
- coffeescript - 编写 Hubot 脚本时的可变可见性问题是 CoffeeScript
- html - 使用 TailwindCSS 时,Google 字体无法在移动设备上呈现
- javascript - 为什么 React 在将 state 设置为相同的值后会第二次渲染组件?
- pandas - 在excel中突出显示折线图的一部分
- python - 如何通过 django 或烧瓶处理 json 格式的发布请求以在 python 中拥有笔记本电脑