You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/05/16 09:44:44 UTC

[2/2] git commit: WICKET-4529 AjaxEditableLabel not selecting text or moving cursor on Firefox 11.0 or Safari 5.0.5

WICKET-4529 AjaxEditableLabel not selecting text or moving cursor on Firefox 11.0 or Safari 5.0.5


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b35fa597
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b35fa597
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b35fa597

Branch: refs/heads/wicket-1.5.x
Commit: b35fa59725a42995a8bc284d7b540d7ecb3d4fd0
Parents: 0c79034
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 16 09:42:33 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed May 16 09:42:33 2012 +0200

----------------------------------------------------------------------
 .../ajax/markup/html/AjaxEditableLabel.java        |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/b35fa597/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
index d1be6dd..09ed883 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
@@ -450,12 +450,9 @@ public class AjaxEditableLabel<T> extends Panel
 		label.setVisible(false);
 		editor.setVisible(true);
 		target.add(AjaxEditableLabel.this);
-		// put focus on the textfield and stupid explorer hack to move the
-		// caret to the end
-		target.appendJavaScript("{ var el=wicketGet('" + editor.getMarkupId() + "');" +
-			"   if (el.createTextRange) { " +
-			"     var v = el.value; var r = el.createTextRange(); " +
-			"     r.moveStart('character', v.length); r.select(); } }");
+		String selectScript = String.format("(function(){var el = Wicket.$('%s'); if (el.select) el.select();})()",
+				editor.getMarkupId());
+		target.appendJavaScript(selectScript);
 		target.focusComponent(editor);
 	}
 
@@ -473,8 +470,9 @@ public class AjaxEditableLabel<T> extends Panel
 			target.appendJavaScript("window.status='" +
 				JavaScriptUtils.escapeQuotes(errorMessage.toString()) + "';");
 		}
-		target.appendJavaScript("{var el=wicketGet('" + editor.getMarkupId() +
-			"'); el.select(); el.focus();}");
+		String selectAndFocusScript = String.format("(function(){var el=Wicket.$('%s'); if (el.select) el.select(); el.focus();})()",
+				editor.getMarkupId());
+		target.appendJavaScript(selectAndFocusScript);
 	}
 
 	/**