我有一個地圖應用我建2的z-index層。我有我的圖層點擊放大中的問題。單擊處理是底層的z-index層上,我不想被點擊上覆層的控制旋鈕時它開火。處理click事件
這個問題我已經是該事件被不管什麼引發,但該事件的originalTarget屬性不是底層的圖像被點擊頂層上的東西時。無論如何要改變這個?
我有一個地圖應用我建2的z-index層。我有我的圖層點擊放大中的問題。單擊處理是底層的z-index層上,我不想被點擊上覆層的控制旋鈕時它開火。處理click事件
這個問題我已經是該事件被不管什麼引發,但該事件的originalTarget屬性不是底層的圖像被點擊頂層上的東西時。無論如何要改變這個?
它被稱爲事件冒泡,您可以使用event.stopPropagation()
方法(IE中的event.cancelBubble()
)控制它。您還可以通過從處理程序中返回true/false來控制它,這些處理程序由元素上的任何屬性調用。這是一個棘手的問題,所以我建議你做一些research。
雖然這並沒有解決這個問題,直接也可能是一個可行的解決方法,直到更合適的解決方案提出了自己。
寫一個函數稱爲onClick,並允許功能足夠的智慧知道誰的說法。然後該功能根據誰點擊它來採取適當的行動。你可以發送幾乎任何獨特的東西,然後使用開關。
簡單的例子:
<html>
<body>
<script type="text/javascript">
function myClickHandle(anID)
{
switch(anID){
case 'bottom':
alert("I am on the bottom");
break;
case 'top':
alert("I am on the top");
break;
}
}
</script>
<html>
<div style="z-index:10"><input type=button value='top' onclick="myClickHandle(this.value)"/></div>
<div style="z-index:11"><input type=button value='bottom' onclick="myClickHandle(this.value)"/></div>
</body>
</html>
我認爲最好的做法是分離的事件處理程序時控制移動到上層,當控制回來到下層,你可以重新連接的事件。
優先考慮誰擁有偉大的z-index
這不是事件冒泡的元素。事件冒泡將是我在這兩個元素上都有一個單擊事件處理程序的地方。我只在底層有一個點擊處理程序。 – Alex 2009-06-22 08:36:29
那麼你是什麼意思「的點擊處理器是底層zindexed層上,我不希望被點擊上覆層的控制旋鈕時它開火。」控件也使用冒泡。也許你真的想捕捉,但不支持IE – SpliFF 2009-06-22 08:40:36