/** | |
* @author Kerry Liu | |
* WTFPL | |
**/ | |
;(function(){ | |
//test for ie: turn on conditional comments | |
var jscript/*@cc_on=@_jscript_version@*/; | |
var styleProp = (jscript) ? "display" : "pointerEvents"; | |
var KoreSampl = function() {}; | |
KoreSampl.prototype.fromEvent = function(e, lastElement) { | |
e = e || window.event; //IE for window.event | |
return this.atPoint(e.clientX, e.clientY, lastElement); | |
}; | |
KoreSampl.prototype.atPoint = function(clientX, clientY, lastElement) { | |
//support for child iframes | |
var d = (lastElement) ? lastElement.ownerDocument : document; | |
//the last element in the list | |
lastElement = lastElement || d.getElementsByTagName("html")[0]; | |
var element = d.elementFromPoint(clientX, clientY); | |
if(element === lastElement || element.nodeName === "HTML") { | |
return [element]; | |
} else { | |
var style= element.style[styleProp]; | |
element.style[styleProp]="none"; //let us peak at the next layer | |
var result = [element].concat(this.atPoint(clientX,clientY,lastElement)); | |
element.style[styleProp]= style; //restore | |
return result; | |
} | |
}; | |
window["KoreSampl"] = new KoreSampl(); | |
})(); |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Sample usage: Up to a given container element:
Everything up to root html node
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sample usage:
Up to a given container element:
Everything up to root html node