Использование execCommand (Javascript) для копирования скрытого текста в буфер обмена

Я пытаюсь скопировать в буфер без использования Flash, я планирую вернуться к Flash с использованиемZeroClipboard если браузер несовместим с подходом javascript.

У меня есть прослушиватель onClick для кнопки, которая выглядит следующим образом:

$(buttonWhereActionWillBeTriggered).click(function(){ 
    var copyDiv = document.getElementById(inputContainingTextToBeCopied);
    copyDiv.focus();
    document.execCommand('SelectAll');
    document.execCommand("Copy", false, null);
}

и поле ввода выглядит следующим образом:

<input type="text" name="Element To Be Copied" id="inputContainingTextToBeCopied" value="foo"/>

В настоящее время это работает, как и ожидалось, но дизайн требует, чтобы поле, содержащее текст, который нужно скопировать, было невидимым. Я пробовал обе настройкиtype="hidden" а такжеstyle="display: none" ни один из которых не удалось. В результате кнопка выбирает всю страницу и копирует весь контент в буфер обмена пользователя.
Я относительно уверен, что причина не в браузере, а в простом случае, я тестирую на Chrome (версия 43.0.2357.134 (64-разрядная версия)) на Mac OS X 10.10.4.

Есть ли способ, которым я могу поддерживать функциональность, когда <input> виден, скрывая его? или если не альтернативный маршрут я могу взять?

Мне известны подобные вопросы, ни один из которых не касается моей проблемы, будь то из-за того, что я слишком стар, на самом деле не использую Javascript или не соответствует конкретному сценарию.Вот хороший ответ для тех, у кого есть похожие, менее конкретные проблемы.

Ответы на вопрос(4)

Ваш ответ на вопрос