Я работаю над веб-сайтом, на котором мне хотелось бы иметь возможность отображать окно, содержащее исходный код с выделенным синтаксисом, чтобы пользователь мог его скопировать. Когда я нажимаю на поле, давая ему фокус (Chrome показывает его контур фокуса), и набираю Ctrl+A, выделяется текст всей страницы, тогда как мне бы хотелось, чтобы был выбран только исходный код с выделенным синтаксисом внутри поля.
Можно ли ограничить диапазон выбора всех/Ctrl+A только текстом внутри поля, желательно без использования ?
Моей первой мыслью было попробовать contenteditable. Когда я щелкаю по полю и появляется курсор редактора, нажатие Ctrl+A выделяет только текст внутри поля по желанию, но также позволяет пользователю изменять код, и я думаю, что аспект интерфейса редактора, позволяющий сделать поле редактируемым, будет сбивать с толку пользователей. Если я оберну текст исходного кода внутри с contenteditable="false" внутри с contenteditable="true", то текст исходного кода доступен только для чтения, но нажатие Ctrl+A снова выделяет текст всей страницы.
Вот тестовая страница: http://jsfiddle.net/5crgL/
Подробнее здесь: https://stackoverflow.com/questions/245 ... -all-ctrla