2008-12-23 95 views
1

我有一個頁面,其中有一個帶有文本和圖標的矩形區域,整個事物都是可點擊的。錨標記被設置爲顯示:塊。其中一個圖標有一個onclick處理程序。如果一個人點擊一個圖標,我只想讓該圖標的onclick處理程序運行,而不是實際激活包含的定位標記。爲什麼我不能在IE中捕捉鼠標點擊?

Firefox的行爲就像我想要的,IE不。

於是,我就陷在onclick處理事件:這沒有工作,所以後來我想,也許這本來就是onmouseup或onmousedown事件,所以我增加了一個clickSwallow觸發錨標記事件

function my_onclick_handler(evt){ 
    if (!evt) evt = window.event; 

    // ... handle the click 

    if (evt.stopPropagation) evt.stopPropagation(); 
    evt.cancelBubble = true; 
} 

方法onmouseup和onmousedown方法:

function clickSwallow(evt){ 
    if (!evt) evt = window.event; 
    if (evt.stopPropagation) evt.stopPropagation(); 
    evt.cancelBubble = true; 
} 

這也沒有工作。在這種情況下,如何保持封閉錨點對點擊作出反應的任何想法?

回答

3

我只是使用<span>,但我認爲從事件處理程序返回false也應該這樣做。

+0

返回錯誤工作。謝謝!但你對跨度的意思是什麼?在IMG周圍放置一個跨度並添加onclick? – 2008-12-23 17:11:54

0

嘗試你的錨更改爲:

<a href="javascript:void(0)"> <img src="..." onclick=".."> </a> 
+0

但是我希望錨點能夠在錨點覆蓋的矩形區域內單擊時工作 - 只要它不在一個圖像上。 – 2008-12-23 17:13:36

1

This post有幾個項目你不(像e.returnValue和e.preventDefault),但是從文字看來這些都是FF特定功能。雖然可能值得一試。

+0

謝謝。我會檢查出來的。 – 2008-12-23 17:21:35