2012-12-27 59 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