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();