Jquery - 显示/隐藏 - 单击时总是向上移动页面

发布于 2024-08-22 06:11:51 字数 282 浏览 10 评论 0原文

我在表单中使用 JQuery 显示/隐藏功能(用 php 生成)

在这个表单中,有 10 个隐藏元素,每次用户单击“添加另一个”链接时,它都会显示下一个隐藏元素,并且我的页脚随之下降。到目前为止,一切都很好。

现在的问题是显示 2 或 3 个隐藏元素后,页面变大,并且出现 Firefox 的右侧导航滚动条,这很好,但是当我单击下一个“添加另一个”链接时,导航滚动条会闪烁显示隐藏元素时返回页面顶部。 每个添加新隐藏元素的链接都会使页面弹回顶部,我不希望出现这种行为...

有谁知道解决此问题的方法吗?

I am using the JQuery show/hide functionality in a form (generated with php)

In this form, there are 10 hidden elements, and every time the user click on an "add another" link, it displays the next hidden element, and my footer goes down with it. So far, so good.

Now the problem is after 2 or 3 hidden elements are shown, the page gets bigger and the right navigation scroll bar from firefox appears, which is fine, but then when I click on the next "add another" link, the navigation scroll bar flicks back to the top of the page while the hidden element is being displayed.
Every link that adds a new hidden element makes the page flicking back to the top, and I don't want this behaviour...

Does anyone know a way to fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

左岸枫 2024-08-29 06:11:51

“添加另一个”是否是一个实际的 a 元素,带有添加新内容的点击处理程序?

如果是这样,您可能需要 event.preventDefault()。尝试这样的操作:

$('.myClickedLink').click(function(event) {

    event.preventDefault();
    // Run my code

})

这可以防止链接的默认行为。我猜这就是导致您的页面每次都返回顶部的原因。

编辑:首先,在我的代码中,我错误地输入了 stopPropagation() 而不是 PreventDefault()。不过,上面的文字是正确的。对不起。

Is the 'add another' an actual a element with a click handler that adds the new content?

If so, you probably want event.preventDefault(). Try something like this:

$('.myClickedLink').click(function(event) {

    event.preventDefault();
    // Run my code

})

This prevents the default behavior of the link. I'm guessing that this is what is causing your page to return to the top every time.

EDIT: At first, in my code, I mistakenly typed stopPropagation() instead of preventDefault(). It was correct in the text above, though. Sorry.

萌辣 2024-08-29 06:11:51

在点击事件末尾添加 return false 怎么样?

What about adding a return false at the end of the click event

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文