т.е. удалить заголовок проблемы - PullRequest
2 голосов
/ 06 мая 2011

Когда я пытаюсь удалить заголовок attr из элемента, он удаляет его во второй раз при наведении на него элемента.

Эта проблема возникает только в Internet Explorer.

вот код:

$('span').live({"mouseover": function(){
    clearTimeout($(this).data('timeoutId'));
    var title = $(this).attr('title');
    $(this).removeAttr("title");
    if($(this).children('.tip-hover').length > 0){
        if($(this).children('.tip-hover').is(':visible') == false){
            $(document).find('.tip-hover').hide();
            $(this).children('.tip-hover').fadeIn(100);
        }else{
            $(document).find('.tip-hover').hide();
            $(this).children('.tip-hover').show();
        }
    }else{

        if(title != false){
            var height = $(this).css('line-height') + 2;
            $(this).prepend('<div class="tip-hover"><div class="tip-top"></div><div class="tip-hover-wrap"><div class="tip-hover-inner">' + title + '</div></div></div>');
            $(this).children('.tip-hover').css("margin-top", height + "px");
            var width = $(this).width() / 2;
            $(this).children('.tip-hover').css("padding-left",width+"px");
        }
    }

},
    "mouseout": function() {
        var someelement = this;
        var timeoutId = setTimeout(function(){ $(someelement).find(".tip-hover").fadeOut("slow");}, 350);
        $(someelement).data('timeoutId', timeoutId);
    }
});

1 Ответ

4 голосов
/ 06 мая 2011

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

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

Тогда в вашем коде вместо…

var title = $(this).attr('title');

Использование:

var title = $(this).data('title');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...