У меня есть серия вкладок. Я понимаю, что все вкладки загружаются после загрузки страницы. У меня есть одна вкладка, но я хотел бы быть исключением из этого. Он содержит виджет, который я загружаю, который мне бы только хотелось загрузить после использования кликов на этой вкладке.Загрузка кода с вкладки только при нажатии на вкладку
<div class="tabbable tabbable-custom">
<ul class="nav nav-tabs">
<li class="active">
<a id="nav-tabs-2" data-toggle="tab" href="#info">Details</a>
</li>
<li>
<a data-toggle="tab" href="#live">Live View</a>
</li>
<li>
<a data-toggle="tab" href="#local">Local Storage</a>
</li>
</ul>
</div>
, а затем это моя вкладка
<div id="local" class="tab-pane">
<div evercam="localstorage"></div>
<script type="text/javascript" src="https://s3.amazonaws.com/cdn.evercam.io/js/localstorage/0.0.1/hikvision.local.storage.mini.js"></script>
<script type="text/javascript">
$('a[data-toggle="tab"]').on('click','show.bs.tab', function() {
if ($(this).attr('href') == '#local' && !LocalStorage.isLoaded()) {
// Set Evercam Camera ID
LocalStorage.options.cameraId = '<%= @camera['id'] %>';
// OR //
// Using api_id and api_key
LocalStorage.options.api_id = '<%= current_user.api_id -%>';
LocalStorage.options.api_key = '<%= current_user.api_key -%>';
// Finally Load the widget
LocalStorage.Load();
}
})
</script>
</div><!--TAB PANE -->
Это загружает виджет, когда пользователь нажимает на вкладку. Проблема заключается в том, что пользователь покидает вкладку и возвращается к ней - она перезагружает виджет, и у меня есть два экземпляра виджета! Есть ли способ получить его так, чтобы он загружал только один раз?
вашего связывания события является неправильным. '$ (selector) .on ('click', 'show.bs.tab', function() {// давайте сделать здесь что-то здесь});' – Kai
Привет, спасибо Jh Kaiz, я обновил свой код выше. Я пробовал с и без этого бита между 'if ($ (e.target) .attr ('href') == '#local') {//}', но ни один из них не работает. Вы видите, что у меня не так? –
Вы могли бы указать свой HTML-код? Просто ' ' только, мне нужно предоставить JS-решение для вас, чувак :). в этом случае я думаю, что вы ожидаете 'if ($ (this) .attr ('href') == '#local') {// делаем что-то, что вы хотите;}' –
Kai