Как я могу отобразить подсказку на теге “опции” HTML?

Или с помощью плоскости HTML или jQuery помогли JavaScript, как Вы отображаете подсказки на человеке элементы для помощи процессу принятия решений (существует недостаточно места для другого вида управления, и некоторая помощь будет необходима).

Это может быть сделано хотя плагин или подобное?

Я попробовал несколько плагинов подсказки за jQuery без успеха (включая тот под названием Подсказка).

Это решение должно:

  • работа в IE, WebKit, а также Гекконе;
  • использование стандарта .

    Я бы посоветовал использовать такой способ.

    http://filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/

    Базовая версия не займет слишком много места, и вы можете легко привязать события mouseover к подпунктам, чтобы показать приятный всплывающая подсказка.

    Надеюсь, это поможет, Синан.

1
ответ дан 24 November 2019 в 16:21
поделиться

Зачем вообще использовать выпадающий список? Пользователь увидит пояснительный текст, только наведя курсор на один из вариантов.

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

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

2
ответ дан 24 November 2019 в 16:21
поделиться

Если доступно увеличение количества видимых опций, следующее может сработать для вас:

<html>
    <head>
        <title>Select Option Tooltip Test</title>
        <script>
            function showIETooltip(e){
                if(!e){var e = window.event;}
                var obj = e.srcElement;
                var objHeight = obj.offsetHeight;
                var optionCount = obj.options.length;
                var eX = e.offsetX;
                var eY = e.offsetY;

                //vertical position within select will roughly give the moused over option...
                var hoverOptionIndex = Math.floor(eY / (objHeight / optionCount));

                var tooltip = document.getElementById('dvDiv');
                tooltip.innerHTML = obj.options[hoverOptionIndex].title;

                mouseX=e.pageX?e.pageX:e.clientX;
                mouseY=e.pageY?e.pageY:e.clientY;

                tooltip.style.left=mouseX+10;
                tooltip.style.top=mouseY;

                tooltip.style.display = 'block';

                var frm = document.getElementById("frm");
                frm.style.left = tooltip.style.left;
                frm.style.top = tooltip.style.top;
                frm.style.height = tooltip.offsetHeight;
                frm.style.width = tooltip.offsetWidth;
                frm.style.display = "block";
            }
            function hideIETooltip(e){
                var tooltip = document.getElementById('dvDiv');
                var iFrm = document.getElementById('frm');
                tooltip.innerHTML = '';
                tooltip.style.display = 'none';
                iFrm.style.display = 'none';
            }
        </script>
    </head>
    <body>
        <select onmousemove="showIETooltip();" onmouseout="hideIETooltip();" size="10">
            <option title="Option #1" value="1">Option #1</option>
            <option title="Option #2" value="2">Option #2</option>
            <option title="Option #3" value="3">Option #3</option>
            <option title="Option #4" value="4">Option #4</option>
            <option title="Option #5" value="5">Option #5</option>
            <option title="Option #6" value="6">Option #6</option>
            <option title="Option #7" value="7">Option #7</option>
            <option title="Option #8" value="8">Option #8</option>
            <option title="Option #9" value="9">Option #9</option>
            <option title="Option #10" value="10">Option #10</option>
        </select>
        <div id="dvDiv" style="display:none;position:absolute;padding:1px;border:1px solid #333333;;background-color:#fffedf;font-size:smaller;z-index:999;"></div>
        <iframe id="frm" style="display:none;position:absolute;z-index:998"></iframe>
    </body>
</html>
10
ответ дан 24 November 2019 в 16:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: