js/controls/textcontrol/textcontrol.coffee in rsence-pre-2.3.0.20 vs js/controls/textcontrol/textcontrol.coffee in rsence-pre-2.3.0.21
- old
+ new
@@ -202,10 +202,13 @@
###
getSelectionRange: ->
_inputElement = @getInputElement()
if _inputElement == null or @hasTextFocus == false
_rangeArr = [ 0, 0 ]
+ ## Other browsers
+ else if _inputElement.selectionStart
+ _rangeArr = [ _inputElement.selectionStart, _inputElement.selectionEnd ]
## Internet Explorer:
else if document.selection
# create a range object
_range = document.selection.createRange()
# original range text
@@ -214,20 +217,17 @@
# make a copy of the text and replace \r\n with \n
_origValue = _inputElement.value.replace(/\r\n/g, "\n")
# create random marker to replace the text with
_marker = @_randomMarker()
# re-generate marker if it's found in the text.
- _marker = @_randomMarker() until ~_origValue.indexOf( _marker )
+ _marker = @_randomMarker() while ~_origValue.indexOf( _marker )
_markerLength = _marker.length
# temporarily set the text of the selection to the unique marker
_range.text = _marker
_markerValue = _inputElement.value.replace(/\r\n/g, "\n")
_range.text = _rangeText
_markerIndex = _markerValue.indexOf( _marker )
_rangeArr = [ _markerIndex, _markerIndex + _rangeLength ]
- ## Other browsers
- else if _inputElement.selectionStart
- _rangeArr = [ _inputElement.selectionStart, _inputElement.selectionEnd ]
## No support:
else
_rangeArr = [ 0, 0 ]
return _rangeArr