jquery 点击弹出窗口滚动回页面顶部[Bootstrap and Django]

mutmk8jj  于 2022-11-29  发布在  jQuery
关注(0)|答案(8)|浏览(212)

我在Django上使用bootstrap,目前一切正常。但是,我在尝试使用弹出功能时,总是遇到问题。每当点击弹出窗口时,页面会滚动到顶部...但是弹出窗口确实出现了。下面是我的代码:

//////////<..... a lot more HTML ....>//////////
<div class="bs-docs-example">
<a href="#" class="btn btn-large btn-danger" rel="popover" title="A Title" id="testpop" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a>
</div>
{% endblock %}

{% block js %}
{{ block.super }}

{% bootstrap_javascript_tag "modal" %}
{% bootstrap_javascript_tag "alert" %}
{% bootstrap_javascript_tag "tooltip" %}
{% bootstrap_javascript_tag "popover" %}

<script type="text/javascript">
$("#testpop").popover();
</script>

多谢了!

i34xakig

i34xakig1#

您可以通过阻止锚元素的默认操作来解决此问题:

$('a#testpop').on('click', function(e) {e.preventDefault(); return true;});
ttvkxqim

ttvkxqim2#

您可以将href=“javascript://”添加到定位标记。

2mbi3lxu

2mbi3lxu3#

删除**href="#"**标记,它应该工作。

agyaoht7

agyaoht74#

这也可能是由于弹出窗口中包含autofocus=on元素(在铬中测试)所致

pcrecxhr

pcrecxhr5#

可以将href="#..."替换为data-target="#..."

vql8enpb

vql8enpb6#

我使用的是Bootstrap 2.3.2
重点不在于点击,即使我通过编程调用show popover,它也会把我滚动到顶部。
点在引导程序工具提示show函数上。那里有一行:
$tip.detach().css({ top: 0, left: 0, display: 'block' })
它在分离tip时应用显示块,只是为了得到它的高度和宽度。这是一个形而上学的问题!不可见元素没有高度!!为了解决这个问题,我注解了该行并添加了:

$tip.show();

就在获得位置的行之后:

pos = this.getPosition()

对我很有效。

mklgxw1f

mklgxw1f7#

我在Bootstrap v3.3.2中遇到了同样的问题,并通过使用按钮而不是锚标记解决了这个问题。
然后,我回到Bootstrap文档,发现除了一个弹出窗口示例外,所有的弹出窗口示例都使用了按钮--令人惊讶的是,使用锚点的那个示例省略了href属性!

iqxoj9l9

iqxoj9l98#

只需将onclick="return false;"添加到锚元素

相关问题