Jquery可点击的身体但不满足

时间:2011-10-28 21:36:28

标签: jquery html

我想设置我的主页的主体元素可点击通过活动点击(身体中有彩色背景图像),但当我点击网站的任何地方时,当然会执行此点击。如何从我的内容(#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

4 个答案:

答案 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)

您必须手动停用正文儿童点击次数

http://jsfiddle.net/2hyW5/1/

$('body>*').click(function(){
    return false;
})

答案 3 :(得分:0)

body元素是所有页面元素的父元素。如果单击页面的任何部分,则最终会单击正文。我不确定你能用这种技术做到这一点。如果我对此不正确,可以随意解释一下。