我的页面上有.click()问题。 我想执行这个:
$('.projLink').click(function() {
$('#project').addClass('projSide');
$('#wrapper').addClass('wrapSide');
$('nav').addClass('navSide');
});
html看起来像这样:
<li><span class="projLink">Bone</span></li>
现在可悲的是,这并不奏效。我必须将触发器放在一个链接中才能使它工作:
<li><a href="#project"><span class="projLink">Bone</span></a></li>
我在页面的其他部分使用了.click(),它没有链接标记。这是我的测试页面: http://www.henning-marxen.de/test/投资组合中的第一项有一个链接,其他项目没有。你知道为什么jquery会这样吗? 提前谢谢。
答案 0 :(得分:1)
设置类以启动动画的代码工作正常,但随后点击气泡到父元素,在那里它触发删除类的代码以将其移回。使用stopPropagation
方法防止点击事件冒泡:
$('.projLink').click(function(e) {
e.stopPropagation();
$('#project').addClass('projSide');
$('#wrapper').addClass('wrapSide');
$('nav').addClass('navSide');
});