The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

When using AUI Tabs, clicking on the tab causes the page to scoll.

Nicolas Castel had asked this question, but I couldn't comment with my answer so I'm starting a new post.

I've had this problem with the Keysight HTML Elements.  I think I finally found the answer so I'll share.

The AUI Tabs relies on some simple html - an unordered list of anchors for the menu items and a matching set of div tags. See https://docs.atlassian.com/aui/8.5.1/docs/tabs.html  for details. When the tab is clicked, two things happen.  First, some javascript changes the visibility of the tabs so that only the one selected is shown.  This is desired behavior.  Next, the browser scrolls down to the anchor.  It's this second behavior which is annoying and needs to be stopped.

My solution is to add a custom class, keysight-tab-menu-item-anchor, to the anchor tags so they are easy to extract with jQuery, then insert the following javascript:

AJS.toInit(function(){
AJS.tabs.setup();

// Without this hook, Confluence will scroll the page
// so that the top of the tab is at the top of the screen.
// This code triggers the tab change, than stops propagation
// or the event so the page is not scrolled.
$(".keysight-tab-menu-item-anchor").click(function(e){
AJS.tabs.change(jQuery(this), e)
e.preventDefault()
e.stopImmediatePropagation();
});
});

 This code seems to work just fine. :)

1 comment

Comments for this post are closed

Community moderators have prevented the ability to post new comments.

David at David Simpson Apps
Atlassian Partner
November 30, 2021

This is still useful. Thank you.

TAGS
AUG Leaders

Atlassian Community Events