триггерное событие на указанной вкладке c отображается - PullRequest
0 голосов
/ 17 июня 2020

Я использую bootstrap 3 и, в частности, отображение вкладки.

Я хочу запустить событие, когда отображается заданная вкладка c, поэтому я получил код из этого вопрос:

$('[href=#step3]').on('shown.bs.tab', function (e) {
    console.log("step3");
});

Это выглядит нормально для меня, но вызывает следующую ошибку:

Ошибка: синтаксическая ошибка, нераспознанное выражение: [href = # step3]

Мне это кажется странным, поскольку я не нахожу синтаксических ошибок в этом фрагменте. Элемент существует и определяется следующим образом:

<li role="presentation" class="disabled">
    <a href="#step3" data-toggle="tab" aria-controls="step3" role="tab" title="Anteprima" class="scheda">
        <span class="round-tab">
            <i class="glyphicon glyphicon-credit-card"></i>
        </span>
    </a>
</li>

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

оказывается, это всего лишь опечатка в исходном ответе, который я скопировал, не заметив.

должно быть:

$('[href="#step3"]').on('shown.bs.tab', function (e) {

вместо

$('[href=#step3]').on('shown.bs.tab', function (e) {

Мне не хватало двойных кавычек вокруг значения href

0 голосов
/ 17 июня 2020

Попробуйте дать вам ссылку с идентификатором step3 и запустите ее следующим образом

$('#step3').on('click', function (e) {
  console.log("step3");
});

или вы можете указать свой li идентификатор и проверить, отключен ли этот класс или нет, а затем выполните что вам нужно сделать

$('#step3').on('click', function (e) {
  if($('#topstep3').hasClass('disabled')) {
    console.log('i am disabled')
  } else {
    console.log('something else here')
  }
});

Я изменил html, чтобы он выглядел так

<li role="presentation" id="topstep3"class="disabled">
    <a href="#step3" id="step3" data-toggle="tab" aria-controls="step3" role="tab" title="Anteprima" class="scheda">
        <span class="round-tab">
            asdfasdf
        </span>
    </a>
</li>
...