我尝试添加类的点击的元素只如何只有在这种情况下,增加点击的元素类
但有时我看到正在选择两个项目,请你让我知道如何解决这个
这是我的代码
$(document).on('click', '.resp-tabs-list li', function(event){
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
我尝试添加类的点击的元素只如何只有在这种情况下,增加点击的元素类
但有时我看到正在选择两个项目,请你让我知道如何解决这个
这是我的代码
$(document).on('click', '.resp-tabs-list li', function(event){
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
我想提出一个假设,当你在做快速说,“有时”会发生在您的LI之间点击:
使用event.stopPropogation()
确保正确的样式在您需要时发生。
$(document).on('click', '.resp-tabs-list li', function(event){
event.stopPropagation();
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
建议是委托事件到最近的静态家长如果可能的话。因为查找来自根的元素的时间,因此委托到document
是非常昂贵的。
每次事件都从文档根开始,它会查找每个元素以查找特定的类名。
如果你没有动感的元素,那么你不需要有event delegation
可言:
$(staticParent).on('click', '.resp-tabs-list li', function(event) {
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
有时查找它往往是因为事件委托和类名的使用缓慢。正如你所知ID选择器要快得多所以你也可以使用它。
$(staticParentID).on('click', '#resp-tabs-list li', function(event) {
$("#resp-tabs-list li").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
试试看看这个代码。
$('.resp-tabs-list li').on('click',function(){
$(this).parent().children().removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
您的代码正常工作。你说“有时”。你能告诉我们什么是有时? –
无法重现。即使快速点击。你能详细说明什么时候应该发生? –
好吧,点击亚洲,然后点击欧洲,你会看到他们都被显示为已分类 – Pawan