我有一個HTML圖像映射,其中有幾個區域與鏈接。我還有一些Javascript功能,在某些情況下,它會覆蓋某些特定區域的圖像映射的默認功能。如何防止圖像地圖區域點擊從傳播到鏈接?
我重視我的功能,我想地區通過這個功能(其中el
是元素,eventName
是事件的名稱和eventHandler
是實際功能):
function bindEvent(el, eventName, eventHandler)
{
if (el.addEventListener)
{
el.addEventListener(eventName, eventHandler, false);
}
else if (el.attachEvent)
{
el.attachEvent('on'+eventName, eventHandler);
}
}
所以通過我自定義處理程序我做這樣的事情:
function onAreaClick(e)
{
//my custom code here
e.cancelBubble = true;
if(e.stopPropagation)
e.stopPropagation();
return false;
}
//...
//assume looping through all areas of the imagemap here, with each element referred to by the variable area
bindEvent(area, 'click', onAreaClick);
其實onAreaClick
功能觸發OK,但我不能得到的情況下,停止傳播。我試過cancelBubble
,stopPropagation
和return false
,但鏈接仍然沿用。我也嘗試將冒泡的階段更改爲,在bindEvent()
中的addEventListener()
函數調用中捕獲。
如何通過觸發圖像映射的默認操作來阻止此事件?
適用於Firefox和Chrome,不適用於IE :( – jbx