Append @ character to text input and set cursor position

http://www.sitepoint.com/forums/showthread.php?1199199-TextBox-keypress-using-jquery

by Teuta Koraqi

HTML

<input type="text" id="myBox" />
<button id="button">Click me</button>

JavaScript

// http://stackoverflow.com/questions/512528/set-cursor-position-in-html-textbox#answer-12518737
function setCaretPosition(elemId, caretPos) {
    var el = document.getElementById(elemId);

    el.value = el.value;

    if (el !== null) {

        if (el.createTextRange) {
            var range = el.createTextRange();
            range.move('character', caretPos);
            range.select();
            return true;
        }

        else {
            // (el.selectionStart === 0 added for Firefox bug)
            if (el.selectionStart || el.selectionStart === 0) {
                el.focus();
                el.setSelectionRange(caretPos, caretPos);
                return true;
            }

            else  { 
                el.focus();
                return false;
            }
        }
    }
}

$("#button").on("click", function(){ 
    setCaretPosition("myBox", 7);
});