I want to create functionality when user use tab key for moving in to next tab. Every tab contains some text boxes. When user in last text box of tab 1 when it press the tab key, it will go into next text box of tab2. I am creating tab using plain HTML css and jQuery. I am not using tab functionality of jQuery UI but it is latest jQuery. The below is my HTML. I am creating tab using ul
and li
. How I move into next li
when my tab in first text box. The tabs contains like dropdown, checkboxes, textboxes.
Note : I am not using tabindex due to some issue. I want to create using jQuery)
<ul class='tabs'> <li><a href='#tab1'>Tab 1</a></li> <li><a href='#tab2'>Tab 2</a></li> <li><a href='#tab3'>Tab 3</a></li> </ul> <div id='tab1'> <ul class= "set2"> <li> test 1<asp:TextBox runat="server" ID="test1" /></li> <li> test 2<asp:TextBox runat="server" ID="test2" /></li> </ul> </div> <div id='tab3'> <ul class= "set2"> <li> test 3<asp:TextBox runat="server" ID="test3" /></li> <li> test 4<asp:TextBox runat="server" ID="test4" /></li> </ul> </div> <div id='tab3'> <ul class= "set"> <li> test 5<asp:TextBox runat="server" ID="test5" /></li> <li> test 6<asp:TextBox runat="server" ID="test6" /></li> </ul> </div>
script
// Wait until the DOM has loaded before querying the document $(document).ready(function(){ $('ul.tabs').each(function(){ // For each set of tabs, we want to keep track of // which tab is active and it's associated content var $active, $content, $links = $(this).find('a'); // If the location.hash matches one of the links, use that as the active tab. // If no match is found, use the first link as the initial active tab. $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]); $active.addClass('active'); $content = $($active.attr('href')); // Hide the remaining content $links.not($active).each(function () { $($(this).attr('href')).hide(); }); // Bind the click event handler $(this).on('click', 'a', function(e){ // Make the old tab inactive. $active.removeClass('active'); $content.hide(); // Update the variables with the new link and content $active = $(this); $content = $($(this).attr('href')); // Make the tab active. $active.addClass('active'); $content.show(); // Prevent the anchor's default click action e.preventDefault(); }); }); $(document).on('keypress',function(e) { var keyCode = e.keyCode || e.which; if (keyCode == 9) { //if the key pressed was 'tab'... e.preventDefault(); //how to focus on the next tab, //remember to select the very first tab when you reach the last tab! } }); }); </script>
css
* {padding:0; margin:0;} html { background:url(/img/tiles/wood.png) 0 0 repeat; padding:15px 15px 0; font-family:sans-serif; font-size:14px; } p, h3 { margin-bottom:15px; } div { padding:10px; width:600px; background:#fff; } .tabs li { list-style:none; display:inline; } .tabs a { padding:5px 10px; display:inline-block; background:#666; color:#fff; text-decoration:none; } .tabs a.active { background:#fff; color:#000; }
Advertisement
Answer
Pls have a look http://aeonit.name/RND/blur_hover_detect_tabs/ or http://mraje.in/mraje/rnd/blur_hover_detect_tabs/
I have done something like this.. You may help this…