Author: gseitz
Date: Wed Mar 26 03:26:48 2008
New Revision: 641235

URL: http://svn.apache.org/viewvc?rev=641235&view=rev
Log:
WICKET-1280: onchange gets called twice after selection with click

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

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js?rev=641235&r1=641234&r2=641235&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 Wed Mar 26 03:26:48 2008
@@ -59,13 +59,21 @@
         objonblur = obj.onblur;
         objonkeyup = obj.onkeyup;
         objonkeypress = obj.onkeypress;
+        
+        // WICKET-1280
+        objonchangeoriginal = obj.onchange; 
+        obj.onchange=function(event){
+               if(mouseactive==1) return false;
+               if(typeof objonchangeoriginal == 
"function")objonchangeoriginal();
+       }
         objonchange = obj.onchange;
-
-       obj.onblur=function(event){
+                
+       obj.onblur=function(event){                     
+               Wicket.Log.info('onBlur:' + mouseactive);
                if(mouseactive==1)return false;
                hideAutoComplete();
         }
-
+       
         obj.onkeydown=function(event){
             switch(wicketKeyCode(Wicket.fixEvent(event))){
                 case KEY_UP:
@@ -102,7 +110,7 @@
                                    hideAutoComplete();
                                hidingAutocomplete=1;
                                        }
-
+                       mouseactive=0;
                            if(typeof objonkeydown == "function")objonkeydown();
                                if(typeof objonchange == 
"function")objonchange();
 
@@ -255,6 +263,7 @@
                    var node=element.firstChild.childNodes[i];
 
                                node.onclick = function(event){
+                                       mouseactive=0;
                                        
wicketGet(elementId).value=getSelectedValue();
                                        if(typeof objonchange == 
"function")objonchange();
                                        hideAutoComplete();


Reply via email to