javascript控制在光标位置插入文字适合表情的插入

直接上代码吧,用js控制在光标位置插入。
在实现表情的插入时用到了。
 
<span style="font-size:18px;"><html> 
<head> 
<script type='text/javascript'> 
function test(str){ 
var tc = document.getElementById("mytextarea"); 
var tclen = tc.value.length; 
tc.focus(); 
if(typeof document.selection != "undefined") 
{ 
document.selection.createRange().text = str; 
} 
else 
{ 
tc.value = tc.value.substr(0,tc.selectionStart)+str+tc.value.substring(tc.selectionStart,tclen); 
} 
} 
</script> 
</head> 
<body> 
<textarea rows=5 name=s1 cols=27 id="mytextarea">目的通过点击页面上的按钮button 在textarea中的光标停留处插上文字 </textarea> 
<input type=button onclick="test('这是需要加入的文字')" /> 
</body> 
</html> 
</span>