Свернутое выделение в Opera

Я не могу получить начальное и конечное смещения объекта выбора в Opera (v9.50), когда выделение свернуто (т.е. просто наведите и щелкните вместо выделения текста). Это мой простой тестовый код, который работает в FF и Safari, но не работает в Opera.

<html>
<head>

<script type="text/javascript">
    function showSelection()
    {
        userSelection = window.getSelection();
        alert('Start: '+userSelection.anchorOffset+'\nEnd: '+userSelection.focusOffset);
    }   
</script>

</head>

<body>

    <div onmouseup="showSelection();">
        <p>Lorem ipsum dolor <strong>sit amet</strong></p>
    </div>

</body>
</html>

Когда я выбираю текст, он работает, но простое наведение и щелчок всегда возвращают смещения как 0. Что мне не хватает? Заранее спасибо.


person Community    schedule 18.12.2008    source источник


Ответы (2)


Опера, кажется, не делает выбор, когда вы нажимаете. Я не знаю, чего вы пытаетесь достичь, но если вы, например, хотите получить выделенный текст, Opera также реализует «document.selection» (вероятно, для поддержки других сценариев только для IE), поэтому вы можете делать такие вещи, как «документ .selection.createRange().text" (не очень полезно, потому что, когда ничего не выбрано, возвращается пустая строка).

Думаю, вам не повезло с этим.

person eelco    schedule 31.12.2008

Я бы предложил разместить это на форумах Opera, там обязательно найдется кто-то (например, разработчик), который может дать вам определенное да или нет.

Форум Opera

person SCdF    schedule 31.12.2008