2012-03-15 36 views
1

我已经注册文档对象上的click事件,我希望能够分支逻辑取决于被点击的目标上,各项指标均在页面上的div当document.click事件在JavaScript中注册时,如何正确地获取IE中的事件目标?

IE 7-9有一个奇怪的错误,绝对定位单击div时,不要注册为事件的目标,这只发生在IE中,返回的目标是绝对定位的下面的底层div。

是否有修复/黑客来处理它,狡猾的IE总是制造麻烦。

谢谢

+0

我不知道你的确切情况但这可能帮你! http://www.quirksmode.org/js/events_order.html – Vossi 2012-03-15 09:20:11

+1

我想我已经复制了你正在做的(希望)。但它为我工作。参考:http://jsfiddle.net/vg2cm/ – 2012-03-15 09:48:52

+0

你可以发布一些代码? – Shaheer 2012-03-15 10:14:12

回答

0

该问题是由另一个事件绑定文档造成的,这是一个使这个问题无关紧要的特定问题。

6

请确保您正确获取IE的事件目标。

var target = event ? event.target : window.event.srcElement; 
+1

大概是旧的,但不应该伤害:'if(t.nodeType == 3)t = t.parentNode;'Safari修复了http://www.quirksmode.org/js/events_properties.html – lapo 2013-08-09 16:53:44

+3

我做了“目标= event.target?event.target:window.event.srcElement;“谢谢! – 2014-01-22 21:00:27

0

我做这个代码在很久以前,我几乎可以肯定它适用于IE7,它完美的作品在IE8,Firefox和Chrome:

function getTarget(e) { 
    var evn = e || window.event; 
    return evn.srcElement || e.target; 
} 
相关问题