Sha256: 50848869317254c54f9a05ee2a24aa3f3d6d4333b02ef89666c297cdaf8949f9

Contents?: true

Size: 1.1 KB

Versions: 20

Compression:

Stored size: 1.1 KB

Contents

var FormHelpers = {
  getCaretPosition: function(element) {
    if (element.setSelectionRange) {
      return element.selectionStart;
    } else if (element.createTextRange) {
      try {
        // The current selection
        var range = document.selection.createRange();
        // We'll use this as a 'dummy'
        var stored_range = range.duplicate();
        // Select all text
        stored_range.moveToElementText(element);
        // Now move 'dummy' end point to end point of original range
        stored_range.setEndPoint('EndToEnd', range);

        return stored_range.text.length - range.text.length;
      } catch (exception) {
        // IE is being mental.  TODO: Figure out what IE's issue is
        return 0;
      }
    }
  },

  setCaretPosition: function(element, pos) {
    if (element.setSelectionRange) {
      element.focus()
      element.setSelectionRange(pos, pos)
    } else if (element.createTextRange) {
      var range = element.createTextRange()

      range.collapse(true)
      range.moveEnd('character', pos)
      range.moveStart('character', pos)
      range.select()
    }
  }
};

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
jschat-0.3.7 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.6 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.5 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.3 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.2 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.1 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.3.0 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.9 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.8 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.7 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.6 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.5 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.4 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.3 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.2 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.1 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.2.0 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.1.5 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.1.2 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js
jschat-0.1.1 lib/jschat/http/public/javascripts/app/helpers/form_helpers.js