为了解决v2ex的部分用户说回复到texterea的@不能到光标的问题。朱一这边做了个bookmark的js脚本,如果需要可以将下面的V2EX testarea++拖拽到搜藏夹。每次需要这个功能的时候事先点击一下这个脚本就可以了。使用于各个浏览器,包括ie
这个脚本没有做域名的判断,所以不要在别的页面上点。万一人家页面上也有replyOne函数就悲情了。
不过如果您使用的chrome,那么就可以用以下的chrome插件了。
V2EX testarea++ <- 拖拽左边这个家伙到收藏栏或者点右键添加至收藏栏实际执行的代码如下:
window.replyOne = function(str){
str = '@'+str+' ';
var obj = document.getElementById('reply_content');
obj.focus();
if(document.selection){
var sel = document.selection.createRange();
sel.text = str;
}else if(typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
var startPos = obj.selectionStart,
endPos = obj.selectionEnd,
cursorPos = startPos,
tmpStr = obj.value;
obj.value = tmpStr.substring(0,startPos) + str + tmpStr.substring(endPos,tmpStr.length);
cursorPos += str.length;
obj.selectionStart = obj.selectionEnd = cursorPos;
}else{
obj.value += str;
}
}