Проблема привязки события зависания к элементам комбинированного списка - PullRequest
1 голос
/ 25 июля 2011

У меня следующая ситуация. Мне нужно показать всплывающую подсказку с пользовательским текстом, когда курсор мыши находится над элементами комбинированного списка (над тегом «option»). Моей первой идеей для решения этой проблемы было использование тега title. Он хорошо работал с Firefox, но с IE, когда текст слишком велик, он обрезался.

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

    $(document).ready(function () {
        var $tooltip = $("#tooltip").hide();
        var $options = $("#ddlSelect option");
        $options.each(function () {
            var texto = $(this).attr("title");
            $(this).data("title", texto);
            $(this).attr("title", "");
        });
        $options.hover(function () {
            var texto = $(this).data("title");
            if (texto != "")
                $tooltip.show().text(texto);
        }, function () {
            $tooltip.hide();
        });
    });  

Наб. «Подсказка» - это div. «ddlSelect» - это комбинированный список с некоторыми опциями. Все его «опции» имеют связанный тег заголовка, просто чтобы быть начальным контейнером пользовательского текста.

Я использую IE 8. Кто-нибудь знает, почему IE не может инициировать эти события?

Спасибо

1 Ответ

0 голосов
/ 19 ноября 2011

Я мог бы предложить этот пример из jQuery UI:

http://jqueryui.com/demos/autocomplete/#combobox

Затем вам нужно будет окунуться в код плагина, чтобы добавить установщик событий наведения мыши для ваших опций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...