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);
});