Как изменить текст при копировании в буфер обмена с помощью ZeroClipboard?

Я пытаюсь использовать http://zeroclipboard.org/. Этот пример копирует содержимое div в буфер обмена по нажатию кнопки.

<html>
<head>
    <script type="text/javascript" src="bower_components/zeroclipboard/dist/ZeroClipboard.min.js"></script>
</head>
<body>

<input id="textholder" value="some text" />
<button id="button1" data-clipboard-target="textholder">Copy from div to Clipboard</button>

<script>
    var zeroClipboard = new ZeroClipboard();
    zeroClipboard.clip(document.querySelector("#button1"));
</script>

</body>
</html>

Как изменить скопированный текст, чтобы получить, например, "некоторый текст [скопированный]" вместо просто "некоторый текст" при вставке?

1 ответ

Решение

Вы можете использовать функцию setText() на вашем нулевом буфере обмена вместо того, чтобы просто нажать кнопку. Таким образом, вы можете создать переменную, в которой вы получите текст, хранящийся в вашем текстовом поле, а затем измените его. Это было бы что-то вроде:

<html>
<head>
    <script type="text/javascript" src="bower_components/zeroclipboard/dist/ZeroClipboard.min.js"></script>
</head>
<body>

<input id="textholder" value="some text" />
<button id="button1" data-clipboard-target="textholder">Copy from div to Clipboard</button>

<script>
    var zeroClipboard = new ZeroClipboard();
    var text = //select your textfield and add modifications to the text
    zeroClipboard.setText(text);
    zeroClipboard.clip(document.querySelector("#button1"));
</script>

</body>
</html>

Надеюсь, это поможет =)

Другие вопросы по тегам