我有一个页面,其中有一个带有文本和图标的矩形区域,整个页面都是可单击的。定位标记设置为显示:块。其中一个图标具有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;
}
那也不起作用。有什么想法在这种情况下如何防止封闭的锚点对点击做出反应?
最佳答案
我只使用<span>
,但我认为从事件处理程序返回false
也可以解决问题。
关于javascript - 为什么我不能在IE中捕获鼠标单击?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/389438/