[英]Only disable scrolling to onclick href element
我在頁面上有一些元素,后面有手風琴/標簽 UI 的東西,當用戶單擊一個時,它會打開並由於href
中的錨點而將其滾動到頁面頂部。 我只想停止那種跳躍行為。 這是此類元素的一個示例;
<a class="data switch" tabindex="-1" data-toggle="trigger" href="#description" id="tab-label-description-title">
More info
</a>
因為這個元素與各種 CMS 和 UIX 相關的東西都綁定在一起,所以我不能像大多數類似問題的答案所暗示的那樣更改href
值。
所以我嘗試了類似這樣的 JavaScript/jQuery;
$('.data.switch').on('click', function(e) {
e.stopPropagation();
});
這確實停止了對元素的跳轉,但它也停止了其他一切,使元素根本不起作用。 所以我的問題是; 是否有某種stopPropagation
動作變體只能禁止跳轉到錨元素?
編輯我在這里大聲思考; 像stopPropagation
或preventDefault
停止所有冒泡動作,沒有辦法只指定滾動嗎? 或者可能是一種解決方法,其中 onclick 它讀取當前的滾動位置並強制停留在 position (盡管這感覺很hacky)..?
你可以通過做以下事情來達到你的結果
在你HTML代碼中添加id
標簽,如
<a class="data switch" id="dataSwitch" tabindex="-1" data-toggle="trigger" href="#description" id="tab-label-description-title">
More info
</a>
並在您的jquery中使用准備好的文檔 function
$(document).ready(function () {
$('#dataSwitch').on('click', function (e) {
e.stopPropagation();
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.