【问题标题】:Click event not working after page scroll in safari with reactjs使用reactjs在Safari中滚动页面后单击事件不起作用
【发布时间】:2019-09-30 04:20:17
【问题描述】:

当我点击链接时,它会向上滚动到页面,而不是触发实际的 onClick 事件并打开另一个页面...

我的 ReactJs 代码:

  <a
    href={HELP_URL}
    className={s.supportLink}
    target="_blank"
    rel="noopener noreferrer"
    onClick={() => handleFAQClick({ onPageStepChange, location })}
  >
    FAQs
  </a>

它应该按照“href”中提到的链接在新选项卡中打开一个新页面。

【问题讨论】:

  • 能否提供hanldeFAQClick()相关的代码?您是否检查过它不包含类似event.preventDefault() 的内容?您的代码中 HELP_URL 字段的定义是什么?请提供minimal, complete and verifiable example
  • 这个是实际的html代码:help.test.com" class="AccountSettings_supportLink__27jZl" target="_blank" rel="noopener noreferrer">FAQs 不包含event.preventDefault().
  • 尝试将event.preventDefault() 添加到您的“点击”事件中(例如添加到您的handleFAQClick())。
  • 我已经尝试过使用 event.preventDefault()。它不工作。
  • 您是否收到任何错误(检查控制台日志)?

标签: javascript html reactjs safari


【解决方案1】:

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2016-07-03
    • 2019-04-11
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多