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