关于vue 和react 中的hash与锚点冲突问题

Posted l8l8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于vue 和react 中的hash与锚点冲突问题相关的知识,希望对你有一定的参考价值。

  // 可以利用事件委托进行处理hash和锚点的冲突问题。
  // 
  handleAnchorClick(e)
    if (e.target && e.target.tagName.toLowerCase() === ‘a‘) 
      // 确定点击元素是不是a元素;
      // Determine whether the click element is a element;
      const href = e.target.href;
      // 确定你的锚点href
      const regx = /#锚点名字\/.+/g;
       // 指定符合你锚点的正则表达式
      //  Specify regular expressions that match your anchor
      const result = regx.exec(href);
      // 检测是否可以匹配到你的锚点
      // Check if it matches your anchor
      if (result && result.length === 1 ) 
        const name = result[0].replace(‘#‘,‘‘);
        // 替换锚点链接中#
        // Replacement anchor link#
        document.querySelector(`a[name="$decodeURI(name)"]`).scrollIntoView();
        // 拿到你的锚点元素并移动到锚点的位置
        // Get your anchor element and move to the anchor position
        e.preventDefault();
        // 阻止点击带来替换location.href的问题
        // Blocking clicks raises the issue of replacing location. href
      
    
  

 

以上是关于关于vue 和react 中的hash与锚点冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

定位与锚点

定位与锚点

学习结论与锚点

Vue路由hash模式下锚点滚动实现

React SPA 应用 hash 路由如何使用锚点

vue项目中使用锚点