diff options
author | Michi Henning <michi@zeroc.com> | 2007-01-15 07:30:37 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2007-01-15 07:30:37 +0000 |
commit | 396d6d01a6ba06044621735fd6aced2e490bc22f (patch) | |
tree | d0f1f2df09370cfcc08f348659ace3673bb769ba /cpp/doc/symboltree.js | |
parent | *** empty log message *** (diff) | |
download | ice-396d6d01a6ba06044621735fd6aced2e490bc22f.tar.bz2 ice-396d6d01a6ba06044621735fd6aced2e490bc22f.tar.xz ice-396d6d01a6ba06044621735fd6aced2e490bc22f.zip |
*** empty log message ***
Diffstat (limited to 'cpp/doc/symboltree.js')
-rw-r--r-- | cpp/doc/symboltree.js | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/cpp/doc/symboltree.js b/cpp/doc/symboltree.js index e6d773d9579..f36c6b7a46d 100644 --- a/cpp/doc/symboltree.js +++ b/cpp/doc/symboltree.js @@ -57,7 +57,7 @@ symboltree.main = function() // // Attach an event listener to the widget. // - list[i].addEventListener('click', symboltree.handleEvent, false); + symboltree.addHandler(list[i], 'click', symboltree.handleEvent); // // The list starts out collapsed by default. Set state and class name, and @@ -87,7 +87,7 @@ symboltree.main = function() // // Save expanded list indexes in cookie when page unloads. // - window.addEventListener('unload', symboltree.save, false); + symboltree.addHandler(window, 'unload', symboltree.save); // // Load state of list. @@ -98,10 +98,10 @@ symboltree.main = function() // Set handler for the "Expand All" and "Collapse All" buttons. // var expandAll = document.getElementById('ExpandAllButton'); - expandAll.addEventListener('click', symboltree.expandAll, false); + symboltree.addHandler(expandAll, 'click', symboltree.expandAll); var collapseAll = document.getElementById('CollapseAllButton'); - collapseAll.addEventListener('click', symboltree.collapseAll, false); + symboltree.addHandler(collapseAll, 'click', symboltree.collapseAll); } // @@ -110,14 +110,32 @@ symboltree.main = function() symboltree.handleEvent = function(e) { var target; + if(!e) + { + e = window.event; + } + if(e.target) { target = e.target; } + else if(e.currentTarget) + { + target = e.currentTarget; + } else if(e.srcObject) { target = e.srcObject; } + else if(e.srcElement) + { + target = e.srcElement; + } + if(!target) + { + alert('No target for event!'); + } + if(!target.className || (target.className != 'CollapsedList' && target.className != 'ExpandedList')) { return; // Ignore event because it bubbled up from child element (namely, from a link in the list). @@ -128,11 +146,11 @@ symboltree.handleEvent = function(e) // if(target.getAttribute('state') == 'expanded') { - symboltree.collapse(e.currentTarget); + symboltree.collapse(target); } else { - symboltree.expand(e.currentTarget); + symboltree.expand(target); } // @@ -267,4 +285,19 @@ symboltree.restore = function() } } +// +// Add an event handler. +// +symboltree.addHandler = function(target, event, handler) +{ + if(target.addEventListener) + { + target.addEventListener(event, handler, false); + } + else + { + target.attachEvent('on' + event, handler); + } +} + symboltree.main(); // Start running. |