1

我的网页上有一个按钮,当 onClick 我希望它显示另一个 div 时。但是,当我单击按钮时,它会在 URL 中闪烁,表明它转到了正确的 div,但随后它会立即重定向回主 div,#home。

按钮代码:

<input type="button" class="flip" value="Redirect To Div" onClick="window.location='#targetDiv'" />

当我单击按钮时,网址将闪烁:

www.XXXXX.com/#targetDiv

然后立即访问 www.XXXXX.com/#home

任何想法为什么它不会显示 div?

谢谢

4

2 回答 2

4

看起来你的表格有

       action=""

或者

       action="#home"

而不是 onclick 调用一个函数

      onclick="mylinkfunction()"

...

     <script type-"text/javascript">

       function mylinkfunction(e) {

       window.location.href="#targetDiv";

       /* need to stop the form sending of the form

        UPDATE as comment: This may not be exactly correct syntax 
        for stopping a form , look up preventing form submission */

       e.preventDefault();
       e.stopPropagation(); 

       }

     </script>

或者如果您的表单无关紧要,请设置它的操作并删除 javascript allogether

     <form action="#targetDiv" method="get">
     <input type="submit" value="go"/>
     </form>

但那么你所需要的实际上就是这个..

    <a href="#targetDiv">click me</a>

如果“转到另一个 div”你的意思是跳转并将页面滚动到一个新位置,它实际上是一个你需要去的锚点

        <a name="targetDiv"/>
于 2012-05-18T18:43:48.353 回答
0

可重用的函数,以使用 href 转到特定的 div 或部分:

const dynamicHrefSetter = (href: string) => {
  if (typeof window !== 'undefined') window.location.href = `#${href}`;
};
于 2021-08-15T17:22:30.353 回答