2008-12-23 56 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