我在页面上有一些元素,其后有手风琴/ tab UI元素,当用户单击一个元素时,由于{{1中的锚点,它会打开并滚动到页面的顶部。 }}。我想停止仅 的跳跃行为。 这是此类元素的一个示例;
href
由于此元素与各种CMS和UIX相关,所以我无法更改<a class="data switch" tabindex="-1" data-toggle="trigger" href="#description" id="tab-label-description-title">
More info
</a>
的值,这是大多数对类似问题的回答。
所以我尝试使用JavaScript / jQuery这样的东西;
href
这确实停止了元素的跳转,但同时也停止了其他所有使元素完全不起作用的事情。所以我的问题是; $('.data.switch').on('click', function(e) {
e.stopPropagation();
});
操作是否有某种变体,只能禁止跳转到锚点元素?
编辑:我在这里大声思考;例如stopPropagation
或stopPropagation
停止所有冒泡动作,难道没有办法只指定滚动吗?或者是一种变通方法,在onclick上它会读取当前的滚动位置并强行停留在该位置(尽管感觉很hack)。?
答案 0 :(得分:0)
您可以通过遵循以下步骤来达到目标
在您的 HTML 代码中,添加
之类的id
标签
<a class="data switch" id="dataSwitch" tabindex="-1" data-toggle="trigger" href="#description" id="tab-label-description-title">
More info
</a>
并在您的 jquery 中使用文档准备功能
$(document).ready(function () {
$('#dataSwitch').on('click', function (e) {
e.stopPropagation();
});
});