这个需要帮助,我已经绞尽脑汁好几天了
参考这个演示http://jsfiddle.net/8QkEw/313/,我如何修改我的代码,使内部超链接工作,而展开/选中itemSelector保持展开/选中
$(function(){
var $container = $('#container'),
$items = $('.item');
$container.isotope({
itemSelector: '.item',
masonry: {
columnWidth: 100
},
getSortData : {
selected : function( $item ){
// sort by selected first, then by original order
return ($item.hasClass('selected') ? -500 : 0 ) + $item.index();
}
},
sortBy : 'selected'
})
$items.click(function(){
var $this = $(this);
// don't proceed if already selected
var $previousSelected = $('.selected');
if ( !$this.hasClass('selected') ) {
$this.addClass('selected');
}
$previousSelected.removeClass('selected');
// update sortData for new items size
$container
.isotope( 'updateSortData', $this )
.isotope( 'updateSortData', $previousSelected )
.isotope();
});
});
只有当用户点击内部超链接时才不会最小化展开/选中的框;点击其他区域仍然会触发$previousSelected.removeClass('selected');
提前感谢。
停止事件在链接上的传播:
$('.item a').click(function(event){
event.stopPropagation();
});
下面是一个演示:http://jsfiddle.net/VCmNU/
您可以添加以下处理程序
$('.item a').click(function(e){
e.stopPropagation();
});