Git Product home page Git Product logo

Comments (5)

claviska avatar claviska commented on May 18, 2024 1

Fixed in beta24.

from shoelace.

claviska avatar claviska commented on May 18, 2024 1

Sorry, I totally misread that before and thought you were referring to dropdowns which was a similar issue solved in def471e.

I'm glad you found a solution. I'm not too keen on tabs having different behaviors for UX reasons, but it could probably work if you made it visually obvious. In that case, the snippet you provided is pretty much what I'd recommend. Maybe target it with rel="external" though so it's more generic and reusable:

$('#tab-nav a[rel="external"]').on('click', function(event) {
  event.preventDefault();
  location.href = this.href;
});

Then apply rel="external" to the appropriate tab(s):

<nav class="tabs-nav">
  <a href="#tab-1" class="active">Tab 1</a>
  <a href="#tab-2">Tab 2</a>
  <a href="https://example.com/" rel="external">External Link</a>
</nav>

from shoelace.

claviska avatar claviska commented on May 18, 2024

Are you using the latest version? I believe this was resolved in def471e.

from shoelace.

oliveratgithub avatar oliveratgithub commented on May 18, 2024

Tested with beta23, but it still doesn't work in my opinion. Here's my code, in case I did something wrong:

	<header id="header" class="text-center fixed-header">
		<h1>Test page</h1>
		<div class="tabs">
			<nav class="tabs-nav">
				<a href="index.php" class="active">Home</a>
				<a href="blog.php">Blog</a>
				<a href="contact.php">Contact</a>
			</nav>
		</div>
		<hr>
	</header>

from shoelace.

oliveratgithub avatar oliveratgithub commented on May 18, 2024

beta24 didn't fix this for me. But I achieved the desired behaviour with one of the following 2 approaches:

A – worse: by modifying shoelace's core shoelace.js and removing this part of the code:
https://github.com/claviska/shoelace-css/blob/62b23735dcfcadf27a019c322030009805e61435/source/js/tabs.js#L88

B – better: Another working approach is using a jQuery function
(tab-nav is the id="tab-nav" of my Tabs element)

$('#tab-nav a:not(".active")').on('click', function(event) {
    var url = $(this).attr('href');
    window.location = url;
})

from shoelace.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.