我有一个页面,其中有一个矩形区域,里面有文字和图标,整个内容都是可点击的。 anchor标记设置为display:block。其中一个图标有一个onclick处理程序。如果一个人点击了一个图标,我只想让图标的onclick处理程序运行,而不是实际激活包含的锚标记。
Firefox表现得像我想要的那样,IE没有。
所以我试图在onclick处理程序中捕获事件:
function my_onclick_handler(evt){
if (!evt) evt = window.event;
// ... handle the click
if (evt.stopPropagation) evt.stopPropagation();
evt.cancelBubble = true;
}
那没用,所以我想也许是onmouseup或onmousedown事件触发了锚标签,所以我在onmouseup和onmousedown方法中添加了clickSwallow方法:
function clickSwallow(evt){
if (!evt) evt = window.event;
if (evt.stopPropagation) evt.stopPropagation();
evt.cancelBubble = true;
}
这也不起作用。在这种情况下如何防止封闭锚对点击做出反应?
答案 0 :(得分:3)
我只想使用<span>
,但我认为从事件处理程序返回false
也应该可以解决问题。
答案 1 :(得分:1)
This post有一些你没有的项目(比如e.returnValue和e.preventDefault)但是从文本看来它们是FF特定的功能。可能值得一试。
答案 2 :(得分:0)
尝试将您的锚更改为:
<a href="javascript:void(0)"> <img src="..." onclick=".."> </a>