我想设置我的主页的主体元素可点击通过活动点击(身体中有彩色背景图像),但当我点击网站的任何地方时,当然会执行此点击。如何从我的内容(#page)中删除此点击事件,以避免在内容中点击骚扰。
HTML来源:
<body>
<div id="page">Content goes here. This div is centered, 980px width element
</div>
</body>
JQuery的:
$('body').click(function() {
window.open('http://example.com');
return true;
});
谢谢,
DanyG
答案 0 :(得分:7)
你走了:
$( 'body' ).click( function ( e ) {
if ( this === e.target ) {
// the BODY was clicked directly; do your thing
}
});
现场演示: http://jsfiddle.net/Vk7rz/
在上面的点击处理程序中,this
关键字引用了点击处理程序的“所有者”,即“BODY”元素,e.target
属性引用了单击的最顶层元素。如果两个引用都引用相同的元素,则表示直接单击了BODY元素。
答案 1 :(得分:1)
$('body:not(#page)').click(function() {
window.open('http://example.com');
return true;
});
答案 2 :(得分:1)
答案 3 :(得分:0)
body元素是所有页面元素的父元素。如果单击页面的任何部分,则最终会单击正文。我不确定你能用这种技术做到这一点。如果我对此不正确,可以随意解释一下。