【问题标题】:How to check if the event is not raised by some anchor/hyperlink click如何检查某些锚点/超链接单击是否未引发事件
【发布时间】:2020-09-11 13:03:57
【问题描述】:

请参考下面的sn-p

if (this.type.fullCarousel) {
  window.onbeforeunload = () => {
  window.scrollTo(0, 0)
}

当某个超链接点击引发此事件时,我需要停止执行window.scrollTo(0, 0)

目前,当任何人点击页面的超链接时,它首先被带到页面顶部并重定向。

我如何检查只有当事件不是由某个锚点单击引发时才执行此行?

谢谢!

【问题讨论】:

  • 您可以检查该事件是否为点击事件或event.target 是否为锚标记
  • "如果事件" - 事件是什么? $(this).is("a") 可能就够了
  • @empiric 感谢您的提示。请检查帖子中的实现

标签: javascript jquery ecmascript-6


【解决方案1】:

从@empiric cmets 获得提示。这就是我解决要求的方式

if (this.type.fullCarousel) {
        window.onbeforeunload = () => {
            if (event.target.tagName.toString().toLowerCase() == "a" &&
                event.target.href.toString().toLowerCase().startsWith("http")) {
                    break;
                }
            window.scrollTo(0, 0)
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多