はい、古い投稿がありましたが、ほぼ同じ質問ですが、@ Tim Downsコードを使用する代わりに、時間をかけて自分でこれを書いたとき、思ったよりも近づきました。今の唯一の問題は、ボタンをクリックするたびに別のピースが追加されることです。自分でビンに行って試してみるのが最善の方法です。
http://jsbin.com/ogiyed/1/edit
コードはここにあります:
function getSelected() {
if(window.getSelection) { return window.getSelection(); }
else if(document.getSelection) { return document.getSelection(); }
else {
var selection = document.selection && document.selection.createRange();
if(selection.text) { return selection.text; }
return false;
}
return false;
}
$('.selections').not('.username').mouseup(function(e) {
var uid = $('.selections').find('.username').text();
var selection = getSelected();
if(selection) {
$('button').click(function() {
var text = $('#textarea_content');
text.val(text.val()+'[quote="'+ uid +'"]'+ selection +'[/quote]');
});
}
});
それはほとんど魅力のように機能します;)