Я пытаюсь выполнить действие Javascript при открытии вкладки начальной загрузки. Я не могу заставить его работать. Это сценарии, которые я пробовал:
$('.nav-tabs a').on('shown.bs.tab', function(){
vchart.redraw();
});
И
$(document).ready(function(){
$(".nav-tabs a").click(function(){
$(this).tab('show');
});
$('.nav-tabs a').on('shown.bs.tab', function(){
vchart.redraw();
});
});
У меня эти скрипты внутри самих вкладок. Я также пробовал:
$('ul.nav a').on('shown.bs.tab', function (e) {
вместо
$('.nav-tabs a').on('shown.bs.tab', function(){
Немного HTML
<div class = "col-md-9">
<ul class = "nav nav-tabs">
<li class = "active">
<a data-toggle = "tab" href = "#1">Tab 1</a>
</li>
<li>
<a data-toggle = "tab" href = "#2">Tab 2</a>
</li>
</ul>
</div>
<div id = "1" class = "tab-pane fade in active">
Tab 1 content...
</div>
<div id = "2" class = "tab-pane">
Tab 2 content...
</div>
Что здесь происходит?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны связать событие (addEventListener с точки зрения vanilla js)
$('ul.nav a').bind('click', function() { //bind whatever event you want
alert('User clicked on "foo."');
//vchart.redraw();
});<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class = "col-md-9">
<ul class = "nav nav-tabs">
<li class = "active">
<a data-toggle = "tab" href = "#1">Tab 1</a>
</li>
<li>
<a data-toggle = "tab" href = "#2">Tab 2</a>
</li>
</ul>
</div>
<div id = "1" class = "tab-pane fade in active">
Tab 1 content...
</div>Можете ли вы сказать мне, могу ли я загрузить <div> с определенным идентификатором при открытии вкладки с частью приведенного выше сценария?
Да, но только если открыта конкретная вкладка. Я использую диаграмму javascript, которую нужно загружать только тогда, когда вкладка фактически открыта.
Я пытаюсь решить проблему новым подходом, но функция перерисовки почему-то не выполняет свою работу. Знаете ли вы какие-либо другие решения этой проблемы? stackoverflow.com/questions/54172274/…
Это помогло. Спасибо за помощь. Я не знал, что должен использовать addEventListener.