clipboardData
. Но обходной маневр есть - содержимое клипборда находится в input. И maxlength надо убрать.<input id="txt2" type="text" placeholder="Paste your text">
<textarea id="txt" disabled></textarea>
document.querySelector("#txt2").addEventListener("paste", function(e) {
alert("Thanks")
e.preventDefault();
var pastetext = e.clipboardData.getData("text/plain");
document.getElementById('txt').value = document.getElementById('txt2').value;
});
document.querySelector("#txt2").addEventListener("change", function() {
document.getElementById('txt2').value = '';
});
<?php
if (empty($_GET['background'])) { // если нет get-параметра с цветом
$background = '#ffffff';
} else { // если есть - используем его
$background = $_GET['background'];
// по хорошему, здесь нужно бы проверять на JS инъекции
// или как-то экранировать
}
/*
а теперь нужно куда-то сохранить это измененный цвет. в сессию, в базу данных, в файл и т.д.
*/
?>
replace(/<span[^>]*color\s*:\s*red[^>]*>.*?<\/span>/gi, '$& (red text)')
[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
\u200B
в него не входит/<br>[\s\u200B]*([^<])/g
работает (function() {
'use strict';
var nfclip = null;
if (window.clipboardData && window.clipboardData.setData) {
nfclip = function(text) {
return window.clipboardData.setData('Text', text);
};
} else if (document.queryCommandSupported) {
var area = document.createElement('textarea');
area.style.opacity = '0';
area.style.position = 'fixed';
area.style.top = '-999999px';
area.style.left = '-999999px';
document.body.appendChild(area);
nfclip = function(text) {
area.value = text;
area.focus();
area.select();
return document.execCommand('copy', false);
};
}
if (!nfclip) {
nfclip = function() {
return false;
}
nfclip.supported = false;
} else {
nfclip.supported = true;
}
window.nfclip = nfclip;
if (window.$) {
window.$.nfclip = nfclip;
};
})()
The select event is sent to an element when the user makes a text selection inside it. This event is limited to<input type="text">
fields and<textarea>
boxes.
The keyup event is sent to an element when the user releases a key on the keyboard. It can be attached to any element, but the event is only sent to the element that has the focus. Focusable elements can vary between browsers, but form elements can always get focus so are reasonable candidates for this event type.