显示特定选项卡上的触发事件
trigger event on specific tab displayed
我正在使用 bootstrap 3,特别是选项卡显示。
我想在显示特定选项卡时触发一个事件,所以我得到了一个代码
$('[href=#step3]').on('shown.bs.tab', function (e) {
console.log("step3");
});
这对我来说看起来很好,但会产生以下错误:
Error: Syntax error, unrecognized expression: [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>
试着给你一个 link step3 的 id 并且 运行 这样
$('#step3').on('click', function (e) {
console.log("step3");
});
或者,你可以给你的 li 一个 id 并检查 class 是否被禁用,然后做你需要做的
$('#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>
原来只是我在没有注意的情况下复制的原始答案中的错字。
应该是:
$('[href="#step3"]').on('shown.bs.tab', function (e) {
而不是
$('[href=#step3]').on('shown.bs.tab', function (e) {
我遗漏了 href 值周围的双引号
我正在使用 bootstrap 3,特别是选项卡显示。
我想在显示特定选项卡时触发一个事件,所以我得到了一个代码
$('[href=#step3]').on('shown.bs.tab', function (e) {
console.log("step3");
});
这对我来说看起来很好,但会产生以下错误:
Error: Syntax error, unrecognized expression: [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>
试着给你一个 link step3 的 id 并且 运行 这样
$('#step3').on('click', function (e) {
console.log("step3");
});
或者,你可以给你的 li 一个 id 并检查 class 是否被禁用,然后做你需要做的
$('#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>
原来只是我在没有注意的情况下复制的原始答案中的错字。
应该是:
$('[href="#step3"]').on('shown.bs.tab', function (e) {
而不是
$('[href=#step3]').on('shown.bs.tab', function (e) {
我遗漏了 href 值周围的双引号