Skip to content

Commit ccafb03

Browse files
committed
Merge pull request react#813 from spicyj/e-view-detail
Normalize view and detail properties
2 parents f0f5987 + 348399a commit ccafb03

1 file changed

Lines changed: 24 additions & 2 deletions

File tree

src/browser/syntheticEvents/SyntheticUIEvent.js

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,35 @@
2121

2222
var SyntheticEvent = require('SyntheticEvent');
2323

24+
var getEventTarget = require('getEventTarget');
25+
2426
/**
2527
* @interface UIEvent
2628
* @see http://www.w3.org/TR/DOM-Level-3-Events/
2729
*/
2830
var UIEventInterface = {
29-
view: null,
30-
detail: null
31+
view: function(event) {
32+
if (event.view) {
33+
return event.view;
34+
}
35+
36+
var target = getEventTarget(event);
37+
if (target != null && target.window === target) {
38+
// target is a window object
39+
return target;
40+
}
41+
42+
var doc = target.ownerDocument;
43+
// TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
44+
if (doc) {
45+
return doc.defaultView || doc.parentWindow;
46+
} else {
47+
return window;
48+
}
49+
},
50+
detail: function(event) {
51+
return event.detail || 0;
52+
}
3153
};
3254

3355
/**

0 commit comments

Comments
 (0)