#javascript #jquery
#javascript #jquery ( jquery )
Вопрос:
Кто-нибудь знает, как запустить событие, когда я переключаюсь с одной вкладки на другую в jQuery?
например:
<li><a href="#tab-1" onclick="submitForm();" onchange="myJSHere();">Tab</a></li>
Комментарии:
1. Виджет вкладок пользовательского интерфейса jQuery? Кстати, ваш код JavaScript не имеет смысла с точки зрения синтаксиса.
2. Вы здесь не новичок, вы должны знать, чтобы предоставить больше информации и точно определить, что вы хотите.
Ответ №1:
Пользовательский интерфейс jQuery???
$("#tabs").tabs({
select: function(event, ui) {
alert("PRESSED TAB!");
}
});
Комментарии:
1. Забавно, что этот обратный вызов происходит до того, как произойдет фактическое событие смены вкладки. Мне пришлось обойти это, обернув мой фактический обратный вызов в setTimeout : (
2. Возможно, вы могли бы использовать событие «активировать», в документах сказано, что оно срабатывает после завершения анимации 😉
Ответ №2:
$(function() {
$( "#tabs" ).tabs({ activate: function(event ,ui){
//console.log(event);
//alert( ui.newTab.index());
alert( ui.newTab.attr('li',"innerHTML")[0].getElementsByTagName("a")[0].innerHTML);
//alert( this.text);
} });
Ответ №3:
Работа для меня
HTML:
<div id="tabs">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
<li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Some content.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Some content in menu 1.</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Some content in menu 2.</p>
</div>
</div>
</div>
Скрипт
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<script>
$("#tabs").tabs({
activate: function(event, ui) {
alert("PRESSED TAB!");
}
});
</script>
Ответ №4:
Мое решение — прослушиватель событий щелчка.
Решение:
$('.nav-tabs li').click(function () {
alert('Tab Clicked');
});
Полное решение с помощью HTML.
HTML
<div id="tabs">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
<li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Some content.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Some content in menu 1.</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Some content in menu 2.</p>
</div>
</div>
</div>
Скрипт
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$('.nav-tabs li').click(function () {
alert('Tab Clicked');
});