今天早上我removeClass
似乎遇到了一些麻烦。首先,我点击div
添加类'containerhover'
,然后当我点击关闭按钮时,它不会删除它刚刚添加到div
的类。
我不知道这是否与它仅被添加到dom中并且实际上没有被编码到HTML中有关。请有人帮忙。
HTML
<div class="container"></div>
的jQuery
$(function() {
$('.container').click(function(e) {
var mythis = $(this);
mythis.addClass("containerhover");
mythis.find('.backface').addClass("bfhover");
mythis.find('.album').addClass("ahover");
});
$('.closealbum').click(function(e) {
$('.container').removeClass('containerhover');
});
});
答案 0 :(得分:7)
使用.on()
将事件附加到容器,如果单击.closealbum
元素,则仅激活 。另外,添加event.stopPropagation()
方法以防止事件进一步冒泡:
$('.container').on('click', '.closealbum', function(e) {
$('.container').removeClass('containerhover');
e.stopPropagation();
});
.closealbum
事件时click
元素不存在而引起的。e.stopPropagation()
,事件会冒泡,第一个事件也会被触发,撤消第二个事件的removeClass。