由于一些奇怪的原因,我添加了这个简单的点击功能,它应该为点击的div添加“大”类,只适用于所有其他div。
See an example here(点击带图片的方框)
$('.box').click(function(){
$(this).toggleClass('big').siblings().removeClass('big');
});
这是一个小提琴,但我选择不发布这个,因为它应该正常工作。错误是由其他一些元素引起的,但我不知道是什么 http://jsfiddle.net/Ly1bxswq/1/
答案 0 :(得分:4)
您在循环中绑定click
处理程序,但只有在将所有元素添加到页面时才需要执行一次。
$.each(data.feed.entry, function (i, entry) {
// ...
$container.append(item);
// ...
})
$('.box').click(function(){
$(this).toggleClass('big').siblings().removeClass('big');
}
正如 @Yan Brunet 的评论所指出的,将事件从每个.box
委托给他们的父母会好得多。这样你就可以在任何时候绑定你的处理程序(甚至在将.box
元素添加到页面之前)
$container.on("click", ".box", function(){
$(this).toggleClass('big').siblings().removeClass('big');
});