Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2012, 15:40
Интересующийся
Отправить личное сообщение для SindBad Посмотреть профиль Найти все сообщения от SindBad
 
Регистрация: 15.03.2011
Сообщений: 11

Как победить всплывание title в IE?
Всем привет.
Хотел приложить скрин, но не судьба
Вот код
toolTips: function(){
            $("body").delegate(".toolTips", "mouseover", function(e){
                var text = $(this).attr("title");
                $(this).removeAttr("title");
                var hht = $('#toolTipBlock').height();
                var wth = $('#toolTipBlock').width();
                var dhht = $(document.body).height()-2;
                var dwth = $(document.body).width()-2;
                var idx = 10;
                $(document).bind('mousemove', function(e){
                    var pX, pY;
                    if((e.pageX+wth)>(dwth-idx)){
                        pX = e.pageX - wth - idx;
                    }else{
                        pX = e.pageX+idx;
                    }
                    if((e.pageY+hht)>(dhht-idx)){
                        pY = e.pageY - hht - idx;
                    }else{
                        pY = e.pageY+idx;
                    }
                    $('#toolTipBlock').css({
                        left    : pX+'px',
                        top        : pY+'px'
                    })
                });
                $('#toolTipBlock').text(text).show();
                return false;
            });
            $("body").delegate(".toolTips", "mouseout", function(e){
                $(this).attr("title", $('#toolTipBlock').text());
                $(document).unbind('mousemove');
                $('#toolTipBlock').hide();
                return false;
            });
        }

Во всех браузерах нативные title не всплывают, в ИЕ - всплывают и мои, и нативные поверх. Как подавить?
Изображения:
Тип файла: png Untitled-1_03.png (8.6 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2012, 10:13
Интересующийся
Отправить личное сообщение для SindBad Посмотреть профиль Найти все сообщения от SindBad
 
Регистрация: 15.03.2011
Сообщений: 11

Решение подсказали други с Демиарта:
Создаём файл hide-title.htc :
<public:component>
    <public:attach event="onmouseover" onevent="hideTitle();" />
    <script>
        function hideTitle() {
            element.setAttribute("data-title", element.title);
            element.setAttribute("title", "");
        }
    </script>
</public:component>

Подключаем его в документ
.toolTips { behavior:url(hide-title.htc); }

И чуть переделываем скрипт в начале:
if($.browser.msie){
					var _key = "data-title";
				}else{
					var _key = "title";
				}
				if(!$(this).data("title")){
					$(this).data("title", this.getAttribute(_key));
					this.removeAttribute(_key);
				}
				
				var text = $(this).data("title");
//...

Не забываем так же о заголовке файла - если хак не работает, добавляем htaccess:
AddType text/x-component .htc
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получиться доступ к элементам не своей страницы? AlkaLoiD Общие вопросы Javascript 4 29.11.2010 12:47
XMLtoJSON: как удобнее? pashak AJAX и COMET 0 25.09.2010 03:12
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
как получить title ifreim'а? je0n Общие вопросы Javascript 13 15.09.2008 20:40
Вопрос к гуру. Title через js. Не выводит title из тега <TR> shkur Элементы интерфейса 24 19.06.2008 09:03