我有一个带图标的网站。每个图标都是可点击的。
如果单击图标,则会选中它(带边框)。
如何定义无选择?也就是说,选择没有我要点击空白点的图标..
想想windows桌面,你可以点击图标然后选择它,如果点击背景幕,所有选择都消失了..
我尝试选择正文$('body')
,但它会覆盖div点击功能并取消它。
有人有想法吗?
由于
答案 0 :(得分:3)
在重新阅读您想要的内容后编辑下面的代码:
这样的事情应该有效:
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/themes/base/jquery-ui.css" />
<style>
#main { width: 130px; background:red; margin:20px; }
#main .icon { padding:10px; float:left; width:40px; }
</style>
<div id="main">
<div class="icon"><img src="/icons/accept.png"></div>
<div class="icon"><img src="/icons/add.png"></div>
<div class="icon"><img src="/icons/anchor.png"></div>
<div class="icon"><img src="/icons/application_add.png"></div>
<div class="icon"><img src="/icons/application_edit.png"></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<script language="javascript">
$('#main .icon img').click(function() {
$(this).parent().css('background', '#ccc');
return false;
});
$('#main').click(function() {
$('#main .icon').each(function() {
$(this).css('background', '#fff');
});
return false;
});
</script>
答案 1 :(得分:0)
这可能就是你所追求的,在主体上定义一个点击处理程序,所有点击都会冒泡到。
$('body').click(function(e) {
if ($(e.target).hasClass('icon')) {
//select icon
}
else {
//clear selection
}
});
答案 2 :(得分:0)
如果有人通过问题标题来到这里......你只想要一个空的jQuery对象,这就是你想要的:
$()
pre jQuery 1.4这个效果最好:
$([])