Jquery 使用主体元素

Jquery 使用主体元素,jquery,Jquery,我有一个页面(下图),主体中有一个div#content。我想右键单击主体区域,在div#content之外,然后读取那里的颜色。如果我尝试 $(document).on("contextmenu", "body", function(el){ bodyBackgroundColor = $(el).css('background-color'); debugger; }); 当我点击翅膀时,我没有听到打断 如果我尝试 $(document).on("contex

我有一个页面(下图),主体中有一个div#content。我想右键单击主体区域,在div#content之外,然后读取那里的颜色。如果我尝试

 $(document).on("contextmenu", "body", function(el){
      bodyBackgroundColor = $(el).css('background-color');
      debugger;
 });
当我点击翅膀时,我没有听到打断

如果我尝试

 $(document).on("contextmenu", "body", function(el){
      bodyBackgroundColor = $(el).css('background-color');
      debugger;
 });
 $(document).on("contextmenu",function(el){
          bodyBackgroundColor = $(el).css('background-color');
          debugger;
     });
我捕捉到了中断,但是对于el=document,$(el).css('background-color')不起作用

我应该怎么做

谢谢


我认为您需要在右键单击的元素上应用
背景色。如果是这样,试试这个

回调中的
el
不是元素,而是事件,您可以将元素作为
e.target
或甚至
event.srcElement
来获取

$(document).on("contextmenu",function(e){

         bodyBackgroundColor = $(e.target).css('background-color');
          alert(bodyBackgroundColor);
     });

谢谢然而,有一个问题:当你点击翅膀时,为什么e.target返回html而不是body?我给它指定了棕色的身体元素,而不是html元素。@Steve我不知道为什么,可能是你身体的高度。。。?看这把小提琴。单击body部分,您将获得应用于body的颜色是的,就是这样。在我的身体里,一切都是绝对定位的,所以没有任何东西能给它任何高度。谢谢,是的。有时候我在Stackoverflow的经验非常好,就像这次一样。其他时候,我的问题被标记了(-5次!),虽然这个问题对我来说似乎很清楚,但可能没有描述人们通常使用jQuery做什么,读者也无法扩展他们的思维来理解它。尽管我在评论中解释了更多,他们还是删除了这个问题。令人沮丧的。对不起,你的咆哮。再次感谢。