diff --git a/UI/WebServerResources/HTMLElement.js b/UI/WebServerResources/HTMLElement.js index cf415acf0..8781cf3fc 100644 --- a/UI/WebServerResources/HTMLElement.js +++ b/UI/WebServerResources/HTMLElement.js @@ -205,7 +205,8 @@ Element.addMethods( setCaretTo: function(element, pos) { element = $(element); - if (element.selectionStart) { // For Mozilla and Safari + if (typeof(element.selectionStart) + != "undefined") { // For Mozilla and Safari element.focus(); element.setSelectionRange(pos, pos); } diff --git a/UI/WebServerResources/UIxMailEditor.js b/UI/WebServerResources/UIxMailEditor.js index 7126629ef..63ae37732 100644 --- a/UI/WebServerResources/UIxMailEditor.js +++ b/UI/WebServerResources/UIxMailEditor.js @@ -283,10 +283,17 @@ function onTextKeyDown(event) { } else { if (!(event.shiftKey || event.metaKey || event.ctrlKey)) { - if (this.selectionStart) { // FF - var startText = this.value.substr(0, this.selectionStart); - var endText = this.value.substr(this.selectionStart); - this.value = startText + " " + endText; + if (typeof(this.selectionStart) + != "undefined") { // For Mozilla and Safari + var cursor = this.selectionStart; + var startText = ((cursor > 0) + ? this.value.substr(0, cursor) + : ""); + var endText = this.value.substr(cursor); + var newText = startText + " " + endText; + this.value = newText; + cursor += 3; + this.setSelectionRange(cursor, cursor); } else if (this.selectionRange) // IE this.selectionRange.text = " ";