Я предполагаю, что вы хотите протестировать только следующий блок:
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
var $target = $(e.target);
if ($target.parent().hasClass('disabled')) {
console.log('sono qui');
return false;
}
});
Прежде всего, я бы попытался извлечь $('a[data-toggle="tab"]')
и проверить, существует ли он:
const elements = $('a[data-toggle="tab"]'); // NEW
console.log(elements); // NEW
elements.on('show.bs.tab', function (e) { // NEW
var $target = $(e.target);
if ($target.parent().hasClass('disabled')) {
console.log('sono qui');
return false;
}
});
Обратите внимание, что я не сделал этого, просто сделав копию оператора $('a[data-toggle="tab"]')
, потому что я хочу быть на 100% уверен, что то, что я печатаю на консоль, - это то же самое, что я использую далее в коде ( не нравится этот код):
const elements = $('a[data-toggle="tab"]'); // NEW
console.log(elements); // NEW
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) { // CHANGE HERE TO VARIABLE TOO!!!
var $target = $(e.target);
if ($target.parent().hasClass('disabled')) {
console.log('sono qui');
return false;
}
});
Если все в порядке и вы видите элементы, вернитесь к предыдущему коду, и следующий шаг - проверить, запускается ли событие show.bs.tap
на каком-либо из этих элементов:
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
console.log(e); // NEW
var $target = $(e.target);
if ($target.parent().hasClass('disabled')) {
console.log('sono qui');
return false;
}
});
Если вы выполняете действие и событие выводится на консоль, проверьте, есть ли цель:
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
var $target = $(e.target);
console.log($target); // NEW
if ($target.parent().hasClass('disabled')) {
console.log('sono qui');
return false;
}
});
Имеет цель? Проверьте, есть ли у него родительский элемент:
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
var $target = $(e.target);
const parent = $target.parent() // NEW
console.log(parent) // NEW
if (parent.hasClass('disabled')) { // NEW
console.log('sono qui');
return false;
}
});
Просмотрите распечатку parent
в консоли с помощью раскрывающихся списков и найдите, есть ли у него необходимый класс.
На одном из этих шагов вы найдет синтаксическую или логическую ошибку в вашем коде.
Удачи! :)