jQuery Tooltip в IE6 - PullRequest
       0

jQuery Tooltip в IE6

0 голосов
/ 15 марта 2011

В настоящее время я борюсь с подсказкой jQuery Tools. Он работает, как заявлено в IE8 / Firefox, но клиент также нуждается в нем для работы в IE6. Из всего, что я видел на их сайте, а также того факта, что он работает в других местах проекта, я знаю, что он совместим с IE6.

Я полагаю, что зависание связано с тем, что я присоединяю всплывающую подсказку к списку строк таблицы, сгенерированному AJAX. До сих пор я пытался сделать это двумя способами, оба из которых, кажется, работают в IE8 / Firefox, ни один из которых не работает в IE6.

Попытка 1:

        $(document).ready(function() {
                // get the undeclared additions and populate the table
                $.getJSON("/Drm/Pc/GetUndeclaredAssistanceRecords?partnumber=<%= Model.PartNumber %>",
                function(data) {
                    var rowEntry = "";
                    var rowClass = "odd";
                    for (var i = 0; i < data.length; i++) {

                        // Fix for Bug 71 starts
                        strComment = "";
                        for (var k = 0; k < data[i].Comment.length; k++) {
                            if (data[i].Comment.substring(k, k + 1) == "'")
                                strComment = strComment + "";
                            else
                                strComment = strComment + data[i].Comment.substring(k, k + 1);
                        }

                        strComment = strComment.replace(";", ",");
                        strComment = strComment.substring(0, 400);

                        var rowEntry = "<tr class='" + rowClass + "'><td class='pcassistresultsCenterAlign'>" + data[i].PurchaseOrder + "</td><td class='pcassistresultsLeftAlign'>" + data[i].SupplierName + "</td><td class='pcassistresultsCenterAlign'>" + data[i].Amount + "<td class='pcassistresultsCenterAlign'>" + data[i].RecordType + "</td></tr>";
                        rowEntry = rowEntry + "<tr class='" + rowClass + "'><td class='pcassistresultsDetailTitle'>Shipment Date:</td><td>" + data[i].ShipDate + "</td><td class='pcassistresultsDetailTitle'>Input On:</td><td class='pcassistresultsDetailData'>" + data[i].InputOn + "</td></tr>";
                        rowEntry = rowEntry + "<tr class='" + rowClass + "'><td class='pcassistresultsDetailTitle'>Req Recon:</td><td class='pcassistresultsDetailData'>" + data[i].ReqRecon + "</td><td class='pcassistresultsDetailTitle'>Input By:</td><td class='pcassistresultsDetailData'>" + data[i].InputBy + "</td></tr>";
                        rowEntry = rowEntry + "<tr class='" + rowClass + "'><td class='pcassistresultsDetailTitle'>From Site</td><td class='pcassistresultsDetailData'>" + data[i].FromSite + "</td><td class='pcassistresultsDetailTitle'>Input By Phone:</td><td class='pcassistresultsDetailData'>" + data[i].InputByPhone
                        rowEntry = rowEntry + "<tr class='" + rowClass + "'><td class='pcassistresultsDetailTitle' valign='top'>Comment:</td><td colspan='3' rowspan='2' title='" + strComment + "' ><div style='overflow:hidden; height:30px;'>" + data[i].Comment + "</div></td></tr>";


                        rowEntry = rowEntry + "<tr class='" + rowClass + "'><td>&nbsp;</td></tr>";

                        //Fix for Bug 71 ends

                        $('#unDecAddTable tbody>tr:last').after(rowEntry);
                        rowClass = rowClass == 'odd' ? 'even' : 'odd';
                        }
                        $('#unDeclaredAdditions *').tooltip();
                });
            });

Попытка 2 такая же, как указано выше, но с удаленной частью .tooltip () и добавлением следующего кода вне функции document.ready

        function PinTooltips() {
            $('#unDeclaredAdditions *').tooltip();
            $('#declaredAdditions *').tooltip();
        }
        $('#declaredAdditions').ajaxComplete(function(event, request, settings) {
            PinTooltips();
        });

Кто-нибудь видит, где я ошибся, или знает что-то необычное в IE6, которое мешало бы этому работать?

1 Ответ

0 голосов
/ 15 марта 2011

Хорошо, я нашел проблему ... и это странно.В других местах проекта он назначал всплывающие подсказки для очень большого диапазона полей.В любом браузере, кроме IE6, он не назначал указанную подсказку для комментариев так, как мне было нужно.Но почему-то в IE6 так и было.Поэтому, когда я снова попытался вызвать .tooltip (), он сломался.В результате я добавил код, чтобы проверить браузер IE6.Если это был IE6, не пытайтесь повторно прикрепить всплывающую подсказку.

Очень странно, и я понятия не имею, почему это работает, но это было мое решение.

...