aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMihai Bazon <mihai.bazon@gmail.com>2015-03-17 11:46:04 +0200
committerMihai Bazon <mihai.bazon@gmail.com>2015-03-17 11:46:04 +0200
commitf5eeed7665041145beea2fdfa7f90c2ac559d312 (patch)
tree559606dbec7d03ed2ff6d1f78ab5d87832e22b88 /tools
parent80cfd063e20e6779fc03da20cd53e6d05df8a181 (diff)
downloadtracifyjs-f5eeed7665041145beea2fdfa7f90c2ac559d312.tar.gz
tracifyjs-f5eeed7665041145beea2fdfa7f90c2ac559d312.zip
Add tool to list DOM properties/methods
Diffstat (limited to 'tools')
-rw-r--r--tools/props.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/props.html b/tools/props.html
new file mode 100644
index 00000000..23d1f7da
--- /dev/null
+++ b/tools/props.html
@@ -0,0 +1,53 @@
+<html>
+ <head>
+ </head>
+ <body>
+ <script>(function(){
+ var props = Object.create(null);
+
+ function addObject(obj) {
+ if (obj == null) return;
+ Object.getOwnPropertyNames(obj).forEach(add);
+ if (obj.prototype) {
+ Object.getOwnPropertyNames(obj.prototype).forEach(add);
+ }
+ if (typeof obj == "function") {
+ try {
+ Object.getOwnPropertyNames(new obj).forEach(add);
+ } catch(ex) {}
+ }
+ }
+
+ function add(name) {
+ props[name] = true;
+ }
+
+ Object.getOwnPropertyNames(window).forEach(function(thing){
+ addObject(window[thing]);
+ });
+
+ addObject(new Event("click"));
+ addObject(new Event("contextmenu"));
+ addObject(new Event("mouseup"));
+ addObject(new Event("mousedown"));
+ addObject(new Event("keydown"));
+ addObject(new Event("keypress"));
+ addObject(new Event("keyup"));
+
+ var ta = document.createElement("textarea");
+ ta.style.width = "100%";
+ ta.style.height = "20em";
+ ta.style.boxSizing = "border-box";
+ ta.value = Object.keys(props).sort(cmp).map(function(name){
+ return JSON.stringify(name);
+ }).join(",\n");
+ document.body.appendChild(ta);
+
+ function cmp(a, b) {
+ a = a.toLowerCase();
+ b = b.toLowerCase();
+ return a < b ? -1 : a > b ? 1 : 0;
+ }
+ })();</script>
+ </body>
+</html>