Я задавался вопросом, знает ли кто-либо, как выбрать использование js заполненная таблица, так, чтобы пользователь мог щелкнуть правой кнопкой по выбору, скопируйте его в буфер обмена и затем вставьте его на Excel. При выборе таблицы вручную процесс работает отлично. Но иногда, если высота таблицы несколько раз больше, чем экран, выбирая его перетаскивающий мышь, становится утомительным. Так, я хочу дать пользователям возможность нажать на кнопку "select the whole table", и все готовится быть скопированным.
Какие-либо идеи?
Да, это не слишком сложно, и во всех основных браузерах (включая IE 6, и действительно 5) будет работать следующее:
(Обновлено 7 сентября 2012 года после того, как Юкка Корпела прокомментировал, что предыдущая версия не работала в стандартном режиме IE 9)
Демонстрация: http://jsfiddle.net/timdown/hGkGp/749/
Code:
function selectElementContents(el) { var body = document.body, range, sel; if (document.createRange && window.getSelection) { range = document. createRange(); sel = window.getSelection(); sel.removeAllRanges(); try { range.selectNodeContents(el); sel.addRange(range); } catch(e) { range.selectNode(el); sel.addRange(range); } } else if (body.createTextRange) { range = body.createTextRange(); range.moveToElementText(el); range.select(); } }
<таблица id="tableId" border="1"> Heading 1 Heading 2 ячейку 1 ячейка 2