Javascript 如何使onClick和href一起工作?

Javascript 如何使onClick和href一起工作?,javascript,reactjs,Javascript,Reactjs,我有一个a元素,它有自己的href,并且工作得非常好。问题在于,除了href元素之外,我还想创建一个onClick函数,但是当我这样做时,href被忽略: <li><a href="#someSectionOfThePage" onClick={someFunction}>GO TO SECTION</a></li> 使用此语法,someFunction会运行,但我不会被重定向到页面的#somesection 由于onClick事件,a标记中

我有一个
a
元素,它有自己的href,并且工作得非常好。问题在于,除了
href
元素之外,我还想创建一个
onClick
函数,但是当我这样做时,
href
被忽略:

<li><a href="#someSectionOfThePage" onClick={someFunction}>GO TO SECTION</a></li>

  • 使用此语法,
    someFunction
    会运行,但我不会被重定向到页面的
    #somesection

    由于
    onClick
    事件,a标记中的
    href
    无法工作。单击元素后,它将执行
    someFunction()
    ,而不是重定向到页面的部分。您可以尝试添加
    location.href=“#页面的某些部分”

    到将执行
    href
    工作的
    someFunction()
    由于
    onClick
    事件,a标记中的
    href
    将不起作用。单击元素后,它将执行
    someFunction()
    ,而不是重定向到页面的部分。您可以尝试添加
    location.href=“#页面的某些部分”

    对于将执行
    href
    工作的
    someFunction()
    ,这应该可以做到:

    <li onClick={someFunction}>
       <a href="#someSectionOfThePage">GO TO SECTION</a>
    </li>
    
    someFunction= ()=>{
      window.location.href("#someSectionOfThePage");
      //do your onClick stuff here
    };
    
    <li>
      <span onClick={this.someFunction}>GO TO SECTION</span>
    </li>
    
    

  • 当您单击
  • 时,它将执行功能。。。当您单击
    时,它将处理
    href
    。由于您将单击此元素,因此这两个元素将同时工作。

    这将实现以下功能:

    <li onClick={someFunction}>
       <a href="#someSectionOfThePage">GO TO SECTION</a>
    </li>
    
    someFunction= ()=>{
      window.location.href("#someSectionOfThePage");
      //do your onClick stuff here
    };
    
    <li>
      <span onClick={this.someFunction}>GO TO SECTION</span>
    </li>
    
    

  • 当您单击
  • 时,它将执行功能。。。当您单击
    时,它将处理
    href
    。因为您将单击此元素,两者同时工作。

    您还可以尝试为
    li
    添加
    click事件处理程序,并确保
    li
    和锚定标记
    a
    具有相同的
    宽度

    您还可以尝试为
    li
    添加
    单击事件处理程序,并确保
    li
    和锚定标记
    a
    采用相同的
    宽度

    虽然这是不可取的,但如果您仍然希望同时使用这两种宽度,则这可能会起到以下作用:

    <li onClick={someFunction}>
       <a href="#someSectionOfThePage">GO TO SECTION</a>
    </li>
    
    someFunction= ()=>{
      window.location.href("#someSectionOfThePage");
      //do your onClick stuff here
    };
    
    <li>
      <span onClick={this.someFunction}>GO TO SECTION</span>
    </li>
    
    
    someFunction=()=>{
    window.location.href(“页面的某些部分”);
    //在这里做你的onClick
    };
    
  • 转到第节

  • 希望这有帮助

    虽然这是不可取的,但如果您仍然想同时使用这两种方法,那么这可能会奏效:

    <li onClick={someFunction}>
       <a href="#someSectionOfThePage">GO TO SECTION</a>
    </li>
    
    someFunction= ()=>{
      window.location.href("#someSectionOfThePage");
      //do your onClick stuff here
    };
    
    <li>
      <span onClick={this.someFunction}>GO TO SECTION</span>
    </li>
    
    
    someFunction=()=>{
    window.location.href(“页面的某些部分”);
    //在这里做你的onClick
    };
    
  • 转到第节

  • 希望这有帮助

    你为什么要这么做?这背后的主要思想是什么?请包括
    someFunction
    代码。要实现您想要的功能,您可能需要尝试在
  • 元素上使用该功能,并留下…可能重复的
    someFunction
    功能?你能添加代码吗?为什么要这样做?这背后的主要思想是什么?请包括
    someFunction
    代码。要实现您想要的功能,您可能需要尝试在
  • 元素上使用该功能,并留下…可能重复的
    someFunction
    功能?你能添加代码吗?