2016-01-24 2 views
2

У меня есть код, который, если бы я выбрал какой-то текст, а затем щелкнул его, он работает.Выделить весь текст затем скопировать его в javascript

Моя проблема, если я не выберу текст и не нажму copy, тогда я должен скопировать весь текст.

Мой HTML:

<textarea id="txt" style="width:100%;height:100px;">To enjoy good health</textarea> 

<div align="center"><button class="btn-md">copy</button></div> 

Мой Сценарий:

$(document).ready(function(){ 
    $('.btn-md').click(function(){ 
    $('#txt').focus(); 
    document.execCommand('copy'); 
    }); 
}); 
+1

Читать эту http://stackoverflow.com/questions/34178 211/text-highlighting-in-html-page/34199730? Noredirect = 1 # comment57568955_34199730 это поможет вам. –

+0

Где дублирование? Я задаю вопрос о том, как выбрать весь текст, если я не выберу какую-либо часть текста. – Jsparo30

ответ

4

Попробуйте

$(document).ready(function(){ 
 

 
    $('.btn-md').click(function(){ 
 
     var selectedText = getSelectedText($('#txt')[0]); 
 

 
     if(getSelectedText($('#txt')[0]) != '') { 
 
      
 
      copyToClipboard(selectedText); 
 
     } else { 
 
      $('#txt').focus().select(); 
 
     } 
 
     document.execCommand('copy'); 
 
    }); 
 
}); 
 

 
function getSelectedText(e) { 
 
    var text = "", 
 
     start = e.selectionStart, 
 
     finish = e.selectionEnd; 
 
    text = e.value.substring(start, finish); 
 
    return text; 
 
} 
 

 
function copyToClipboard(text){ 
 

 
    var et = $('<textarea/>',{ 
 
     css:{ opacity: '0' } 
 
    }); 
 
    $('body').append(et); 
 
    $(et)[0].value = text; 
 
    $(et).focus().select(); 
 
    document.execCommand('copy'); 
 
    $(et).remove(); 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<textarea id="txt" style="width:100%;height:100px;">To enjoy good health</textarea> 
 
<div align="center"><button class="btn-md">copy</button></div>

+0

Спасибо за ответ, не работает. он выбирает весь текст в обоих случаях, если я не выбрал какой-либо текст или выбранную часть текста. – Jsparo30

+0

Спасибо за ваш ответ. Это работает хорошо. – Jsparo30

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