0

hi everyone, i want copy button in my mobile website and i have implement it with JS, it works fine for android but on ios text not copying, is there any way to copy textarea text on ios safari ?

this is my code which worked on android browser

var input  = document.getElementById("input_output");
var button = document.getElementById("copy-button");

button.addEventListener("click", function (event) {
    event.preventDefault();
    input.select();
    document.execCommand("copy");
});

Thanks

Ninder Chand
  • 389
  • 1
  • 5
  • 15
  • Take a look here: http://stackoverflow.com/questions/34045777/copy-to-clipboard-using-javascript-in-ios – Sebastian Oct 10 '16 at 14:18

1 Answers1

3

You can try this it will work for Ios and other Browsers.

button.addEventListener("click", function (event) {
event.preventDefault();
    if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
            var $input = $('#input_output');
            $input.val();
            var el = $input.get(0);
            var editable = el.contentEditable;
            var readOnly = el.readOnly;
            el.contentEditable = true;
            el.readOnly = false;
            var range = document.createRange();
            range.selectNodeContents(el);
            var sel = window.getSelection();
            sel.removeAllRanges();
            sel.addRange(range);
            el.setSelectionRange(0, 999999);
            el.contentEditable = editable;
            el.readOnly = readOnly;

            var successful = document.execCommand('copy');
            $input.blur();
            var msg = successful ? 'successful ' : 'un-successful ';  


        }
        else{

            var copyTextarea = document.querySelector('#input_output');
            copyTextarea.select();

            var successful = document.execCommand('copy');
            var msg = successful ? 'successful ' : 'unsuccessful';

        }

});

Dushyant Dagar
  • 1,019
  • 10
  • 17