2012-12-27 60 views
2

我需要做一个div,以便当光标悬停在它上面,然后我可以检测到它(使用JavaScript),但我想让它可以通过div点击下面的元素。有没有办法做到这一点?如何制作div点击但悬停?

感谢

+1

@keune元素下面是不一定是我想要的儿童节目 –

+0

你的问题不清楚,你在下面是什么意思,在这里发布'HTML'代码。 –

+0

你的意思是这样的:http://stackoverflow.com/questions/3680429/click-through-a-div-to-underlying-elements? –

回答

0

编辑 据我所知,并通过我的快速搜索,我不相信你能做到这一点,如果你可以把它不会是容易的和或非常实际我不会想。

使用jQuery

$(document).ready(function(){ 
    $("body").on("hover", "div", function(){ 
     //do whatever you want on hover 
    }); 

    $("body").on("click", "div .child-class", function(){ 
     //do whatever on click 
    }); 
}); 

如果不回答你的问题,你想要做什么,让我知道什么更具体的,为什么它没有。

+0

感谢您的回复,我不想做任何具体的事情,当div被点击时,我只是想它假装就好像位于它下面的div被点击在相同的位置。 – Taimur

+0

哦,我明白你的意思了,当你说,“你可以通过div点击下面的元素”我把它当作意思,点击一系列div。但是你只是想能够点击具有低于另一个div的z-index的元素。 IE浏览器点击下面的某种类型的弹出。 –

0

这取决于你的问题有多种解决方案。我将从一些假设开始: 1.你是页面的所有者(你知道那里发生了什么);你知道点击元素下面有什么元素。

对于这种情况,检查这个代码:

//function executed when you click on element with id: beneath 
function clickOnBeneath() { 
    alert("beneath click"); 
} 

//function executed when you click on element with id: above 
function clickOnAbove() { 
    var beneathEl; 
    beneathEl = document.getElementById("beneath"); 
    beneathEl.click(); 
} 

//attach click event on element with id: above and beneath 
function attachClickOnElements() { 
    var aboveEl, 
     beneathEl; 
    aboveEl = document.getElementById("above"); 
    aboveEl.addEventListener("click", clickOnAbove, false); 
    beneathEl = document.getElementById("beneath"); 
    beneathEl.addEventListener("click", clickOnBeneath, false); 
} 

attachClickOnElements(); 

而且工作示例:http://jsfiddle.net/darkyndy/xRupb/

如果你不知道什么元素是它下面然后我会尽量找一些代码,我写的几年回来这样的事情,作为起点,你可以检查getClientRects()功能,可在HTML元素(文档:https://developer.mozilla.org/en-US/docs/DOM/element.getClientRects