HTML执行粘贴到textarea

时间:2012-02-09 04:09:46

标签: javascript html google-chrome clipboard

我有一个textarea,我想将不同的文本格式粘贴到。最理想的是有几个按钮,每个按钮都有不同类型的标签。一个按钮粘贴格式A,另一个按钮粘贴格式B ...这些格式中的每一个都只是文本。这些JavaScript伪代码将是:

function pasteFormatA() {
   var txt = clipboard.getTextContent();
   if(txt) {
       // sanitize text
       // then put in textarea
   }
}

这可能吗?使用Chrome,但跨浏览器解决方案会更好。

1 个答案:

答案 0 :(得分:1)

读取实际的剪贴板会违反浏览器沙盒。您可以做的最好的事情是在粘贴内容后清理内容。

这是一个基于按下的活动按钮进行过滤的jQuery示例。

http://jsfiddle.net/xjTUY/1

<button class="active">A</button><button>B</button><button>C</button>
<br />
<br />
<textarea></textarea>

$('button').click(function() {
    $('button').removeClass('active');
    $(this).addClass('active');
});

$('textarea').bind('input propertychange', function() {
    var text = $(this).val();
    var activeFilter = $('button.active').html();
    switch (activeFilter) {
    case 'A':
        $(this).val(text.replace('a', ''));
        break;
    case 'B':
        $(this).val(text.replace('b', ''));
        break;
    case 'C':
        $(this).val(text.replace('c', ''));
        break;
    }
});