Author: knopp
Date: Tue Nov 27 15:08:41 2007
New Revision: 598811

URL: http://svn.apache.org/viewvc?rev=598811&view=rev
Log:
WICKET-1186

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/wicket-event.js

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/wicket-event.js
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/wicket-event.js?rev=598811&r1=598810&r2=598811&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/wicket-event.js
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/wicket-event.js
 Tue Nov 27 15:08:41 2007
@@ -91,6 +91,26 @@
  */
 
 Wicket.Event = {
+       idCounter: 0,
+       
+       getId: function(element) {
+               var current = element.getAttribute("id");
+               if (typeof(current) == "string" && current.length > 0) {
+                       return current;
+               } else {
+                       current = "wicket-generated-id-" + 
Wicket.Event.idCounter++;
+                       element.setAttribute("id", current);
+                       return current;
+               }
+       },
+       
+       handler: function() {
+               var id = this[0];
+               var original = this[1];
+               var element = Wicket.$(id);
+               original.bind(element)();
+       },
+
        // adds an event of specified type to the element
        // also supports the domready event on window
        // domready is event fired when the DOM is complete, but before loading 
external resources (images, ...)
@@ -102,7 +122,7 @@
                        if (element.addEventListener){
                                element.addEventListener((type == 'mousewheel' 
&& window.gecko) ? 'DOMMouseScroll' : type, fn, false);
                        } else {
-                               fn = fn.bind(element);
+                               fn = 
Wicket.Event.handler.bind([Wicket.Event.getId(element), fn]);                   
           
                                // Because of the fn.bind (returning a new 
function object)
                                // you can't detach the event first to be sure 
that there are no doubles :(
                                //element.detachEvent('on'+type, fn);


Reply via email to