Вопрос юзабилити HTML - (двойной) щелчок для выбора текста - PullRequest
5 голосов
/ 20 июня 2010

Как вы хорошо знаете, двойной щелчок по слову в браузере выделяет его, тройной щелчок - весь абзац.

Я настраиваю вики, где подписи для анонимных пользователей создаются автоматически и выглядят так:

--- // //

"---" генерирует & mdash; , // для курсивного текста и генерирует .

Вот как это работает сейчас, когда я его подправил. Теперь меня интересует удобство использования.

У меня вопрос: как создать разметку так, чтобы при двойном щелчке по IP-адресу был выбран весь адрес и только адрес?

Язык разметки не имеет значения, вы можете предоставить решение в HTML, но предпочтительнее одно, специфичное для вики (докувики).

Спасибо

Ответы [ 2 ]

5 голосов
/ 26 июня 2010

Спасибо всем, но мне удалось сделать это, используя текстовое поле только для чтения, заданное без границ и с цветом фона фона сайта.

Двойной щелчок работает, как и ожидалось, без учетана стороне клиента сценариев.

2 голосов
/ 20 июня 2010

Вы не можете сделать это с HTML.Возможно с Javascript.По сути, вы просто обнаруживаете двойной щелчок в определенной области и затем выбираете соответствующий текст.

РЕДАКТИРОВАТЬ:

Вот как это сделать в браузере, совместимом с W3C (например, Firefox, вероятно, он не будетработать в IE, который не поддерживает браузер W3C и использует другую модель выделения текста):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
    <head>
        <script type="text/javascript">
            function select(elem) {
                var sel = window.getSelection();
                var range = sel.getRangeAt(0);
                range.selectNode(elem);
                sel.addRange(range);
            }            
        </script>
    </head>
    <body>
        <p>a simple paragraph, this is 
            <span onclick="select(this);">clickable area</span> 
            when this 
            <span ondblclick="select(this);">span tag is double-clicked</span>
            then they will be selected
        </p> 
    </body>
</html>
...