2013-12-04 2 views
0

У меня есть div как <div id="content">some text</div>.jQuery выберите div, добавьте str к выбранному

Если пользователь хочет, чтобы скопировать содержимое, выбрав текст (или часть) внутри DIV, я хочу, чтобы добавить строку к тому, как «какой-то текст + больше на: MyLink»

Любое предложение как это сделать?

EDIT

сНа я имел в виду IST "Описание" -Div на этом сайте:

http://haaacks.com/view/158/RendDx9_%5BVersion_1.5%5D

Если пользователь пытается скопировать из этого DIV (или другой информации от DIV выше) Я хочу, чтобы получить строку, как это добавляется: «- больше на [ссылка на сайт]»

+1

читать [этот вопрос] (http://stackoverflow.com/questions/400212/how-to-copy-to-the-clipboard-in-javascript) для многих связанных и соответствующих решений. – Blazemonger

+0

Спасибо, но я думаю, что это не совсем то, что я ищу ... Я хочу добавить строку на выбранном контенте только в некоторых конкретных div (возможно, для селектора классов) Есть ли какое-нибудь чистое решение для добавления этого строка на контенте? – Bird

+0

Видимо, нет. – Blazemonger

ответ

-2

использовать скрипт из http://www.tynt.com/product_copypaste.php или написать свой собственный сценарий, как показано ниже:

<script type="text/javascript"> 
function addLink() { 
    var body_element = document.getElementsByTagName('body')[0]; 
    var selection; 
    selection = window.getSelection(); 
    var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />Copyright &copy; c.bavota"; // change this if you want 
    var copytext = selection + pagelink; 
    var newdiv = document.createElement('div'); 
    newdiv.style.position='absolute'; 
    newdiv.style.left='-99999px'; 
    body_element.appendChild(newdiv); 
    newdiv.innerHTML = copytext; 
    selection.selectAllChildren(newdiv); 
    window.setTimeout(function() { 
     body_element.removeChild(newdiv); 
    },0); 
} 
document.oncopy = addLink; 
</script> 

Оригинальные Кредиты: http://bavotasan.com/tutorials/add-a-copyright-notice-to-copied-text/

+1

Пожалуйста, не отправляйте ответы, которые являются не чем иным, как копированием и вводом кода с другой страницы. Внешняя ссылка может исчезнуть в любое время в будущем вместе с ее объяснениями. – Blazemonger

+0

Спасибо! Но я не понимаю, по какой причине есть новый? Не существует ли какого-либо решения в jQuery, чтобы просто добавить строку к выбранному контенту? – Bird

+0

@Bird - новый виртуальный элемент DIV в приведенном выше коде должен заменить выбор копии из элемента окна из того, что первоначально было выбрано для буфера обмена. Веб-приложения для целей безопасности не могут иметь прямой доступ к локальным ресурсам системы, например, Clipboard напрямую - в этом случае изменение выбора окна - это трюк, чтобы добавить что-то к изначально выбранному элементу. – DipakRiswadkar

Смежные вопросы